MVCC : 多版本并发控制
功能: 通过UNDO生成多版本的”快照“。非锁定读取。
乐观锁: 乐观。
悲观锁: 悲观。
每个事务操作都要经历两个阶段:
1. MVCC采用乐观锁机制,实现非锁定读取。
2. 在RC级别下,事务中可以立即读取到其他事务commit过的readview
3. 在RR级别下,事务中从第一次查询开始,生成一个一致性readview,直到事务结束。
创建ReadView
– 获取kernel_mutex
• 遍历trx_sys的trx_list链表,获取所有活跃事务,创建ReadView
– Read Committed
• 语句开始,创建ReadView
– Repeatable Read
• 事务开始,创建ReadView
