- 高性能MySQL(第三版)学习记录
- MySQL的架构和历史
- 逻辑架构
- 并发和锁
- 事务ACID和隔离级别
- InnoDB存储索引
学习资源 高性能MySQL(第三版)学习记录 MySQL的架构和历史 逻辑架构
并发和锁MySQL服务器架构是由三层架构组成:
1、服务器第一层是客户端连接服务器的连接池
2、服务器第二层是解析、分析、优化、缓存语句,
以及处理内置函数、存储过程、触发器、视图
3、服务器第三层是是最核心的存储引擎层,存储、
提取数据的位置。
为了满足并发的请求并保证安全,所以需要实现读锁、写锁。不同的存储过程实现不同的锁细粒度,存储引擎为MyISAM可以实现表锁,InnoDB可以实现表锁、行锁。
当遇到死锁的情况,InnoDB处理的方式是将持有最少的排它锁进行事务回滚。
多版本并发控制MVCC
事务ACID和隔离级别事务特性
A(atomicity) 原子性
一个事务视为一个整体,无法分割,同时成功,或同时回滚
C(consistency) 一致性
一个事务没有提交之前,数据不变保持一致性
I(isolation) 隔离性
事务与事务之间相互不可见
D(durability) 持久性
事务提交以后可以将数据保存到磁盘
四种隔离级别:
InnoDB存储索引读未提交:
造成脏读
读已提交:
造成不可重复读
可重复度:
造成幻读
可串行化:
造成开销较大,实际中使用少
InnoDB索引基于聚簇索引建立
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)