目录
- 事务
- MVCC
- 锁
事务
四大特性:ACID
脏读:事务A读取到未提交事务B修改的数据
不可重复读:事务A修改了未提交事务B读取的数据
幻读:事务A增删了未提交事务B读取的数据
不可重复读与幻读都是读取的结果不同,前者侧重于修改,是对单条记录;后者侧重于增删,是查询出的结果集的变化
MVCC
概念:多版本并发控制,通过版本链与Read View来控制并发事务对相同记录的访问
版本链:记录中的roll_pointer指向的一系列操作的undo log链表
Read View:一致性视图,也叫快照,用来判断事务应该看到版本链中的哪个版本数据
锁
概念:多个未提交事务对同一条记录进行改动时,需要排队执行。通过为该记录加锁,这个锁本质上是一个在内存中的结构