MySQL学习笔记-MVCC数据多版可见性
InnoDB
最大的特点之一就是支持事务,而不同时刻启动的事务对于其他事务来说,可见性不一样,比如可重复读隔离级别下,启动一个事务,查询数据之后会创建一个一致性视图,该事务提交之前的查询都将依赖于这个一致性视图,就好像给所有数据 拍了一个快照
一样,这篇文章就学习一下 MVCC
数据的多版本并发控制是如何实现秒级快照
的。
1.笔记图
2.事务的执行流程
-
事务启动的时机
-
第一种启动方式,一致性视图是在执行第一个快照读语句时创建的
-
第二种启动方式,一致性视图是在执行
start transaction with consistent snapshot
时创建的 -
假设隔离级别是可重复读
-
事务
C
这个update
语句本身就是一个事务,语句完成的时候会自动提交 -
事务