高性能mysql笔记总结—chapter01

数据库的逻辑架构

mysql是客户端和服务端的架构,一个客户端占有一个客户端进程的线程连接,线程是会被客户端缓存起来的。

第一层是处理认证和连接

第二层用来解析和优化查询

第三层是用来存储引擎层

特点是存储引擎是可插拔的,也就是说可以替换的

并发问题

加表级别锁或者行级别的锁,表级别的锁是服务端就支持的,而行级别的锁是存储引擎层支持的。

读写锁的机制,读锁是可重复读,写锁是排它锁。

事务

acid,原子性,一致性,隔离性,持久性四个特性

事务的隔离级别

不可重复读,读以提交,可重复读,串行读

事务日志

先修改内存中的值,然后将事务的执行语句顺序写到磁盘,顺序写比较快,然后再另外写入到磁盘中,这种方式叫write ahead logging

mvcc

多版本事务控制,是通过保存快照来实现的。是指每一行都会多两个字段,分别表示行的创建时间和删除时间,实际上,就是行级别锁的一种实现方式。

mysql的存储引擎

主要其实就两种,分别是innodb和myisam是最常用的,95都是选择的innodb

相关推荐
Geoking.3 分钟前
【Java】深入理解 Java 枚举(Enum)
java·开发语言
像风一样的男人@15 分钟前
python --生成ico图标
java·python·spring
zhaokuner17 分钟前
06-聚合与一致性边界-DDD领域驱动设计
java·开发语言·设计模式·架构
北岛寒沫18 分钟前
北京大学 国家发展研究院 经济学原理课程笔记(第十七课 微观经济学的现代理论)
经验分享·笔记·学习
网安INF23 分钟前
2025年我的年度总结
学习·博客之星
技术小泽27 分钟前
DDD领域设计精讲
java·后端·设计模式·架构
laplace012330 分钟前
Part 5|LangChain Agent 部署与上线流程(LangGraph 生态)
笔记·python·学习·语言模型·langchain
SatVision炼金士39 分钟前
Mac 安装Homebrew记录
java·elasticsearch·macos·maven
星空椰1 小时前
jvms Java 版本管理工具
java·开发语言
程序媛徐师姐1 小时前
Java基于SpringBoot的在线政务服务中心,附源码+文档说明
java·spring boot·java+在线政务服务中心·在线政务服务中心·政务服务中心·政务服务·java在线政务服务