高性能mysql笔记总结—chapter01

数据库的逻辑架构

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

第一层是处理认证和连接

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

第三层是用来存储引擎层

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

并发问题

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

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

事务

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

事务的隔离级别

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

事务日志

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

mvcc

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

mysql的存储引擎

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

相关推荐
乌蒙山连着山外山1 分钟前
linux中查询多个匹配字段
java·linux·服务器
⑩-5 分钟前
@Component
java
2501_916766545 分钟前
【Git学习】Git本地仓库基础命令
git·学习
xing-xing6 分钟前
Java多版本配置及版本切换(Mac适配)
java·macos
与代码不die不休6 分钟前
Numpy学习——创建ndarray的方法
学习·numpy
oioihoii7 分钟前
现代C++系统编程中类型重解释的内存安全范式
java·c++·安全
SimonKing8 分钟前
我为什么放弃了XMind和亿图,投向了这款开源绘图工具的怀抱?
java·后端·程序员
萧曵 丶11 分钟前
CompletableFuture 底层原理详解
java·jvm·多线程·并发编程
爱笑的眼睛1116 分钟前
神经网络的骨架:深入解析前向传播的数学本质与工程实现
java·人工智能·python·ai
墨^O^19 分钟前
软件测试开发知识笔记
笔记·学习·测试工具·单元测试·测试用例·压力测试·ab测试