MVCC就是在不同的隔离级别下 建立不同的 readview
比如在可重复读的隔离级别下, readview就是在 事务开启后的 第一次select建立readview
事务结束之前 都是这个readview, 不在改变
如果第一次读取到的数据在另一个session会话的commit前面就是 另一个session会话没提交之前的readview
如果第一次读取到的数据在另一个session会话的commit后面就是 另一个session会话提交之后的readview
读已提交就是每次select都会重新创建readview (只能读取到另一个session会话提交之后数据)
读未提交(另一个session会话修改了.没有提交也可以读取到)
![](https://img.haomeiwen.com/i2536235/f46f79d37fe9f427.png)
网友评论