分享
MVVC
输入“/”快速插入内容
MVVC
用户9187
用户9187
9月5日修改
简介
用于实现高并发和一致性读取的重要机制,特别是实现可重复读(REPEATABLE READ)和读已提交(READ COMMITTED)隔离级别,而无需使用锁。
只有 innoDB 存储引擎才支持
MVCC = 隐藏字段(保证并发控制) + Undo Log(保证多版本)+ ReadView(保证并发控制)
快照读、当前读
快照读
当一个事务开始时,它会记录当前系统中活动事务的ID,并将其作为一个快照。此后,所有的读取操作都会基于这个快照,从而确保读取到的数据是一致的,不会受到其他事务的影响。
当前读
当前读直接读取最新版本的数据,并且需要加锁以确保数据的一致性和隔离性
ReadView
MVCC 实现依赖于:隐藏字段、Undo Log、ReadView
隐藏字段
Undo Log 版本链
ReadView 是什么
设计思路
ReadView 中包含的重要内容