最近想再次深入学习MVCC原理,收藏了以下好文章,供以后查阅
阅读以上文章发现,MVCC机制是存在一个问题,也就是缺陷。
问题:在RR情况下,事务A开启事务后修改了数据a,但未提交commit;此时事务B开启事务后,要做多次查询数据a;如果事务A完成提交commit,事务B还是进行多次查询数据a,查询数据a还是第一次查询的数据。也就是使用旧数据。
在RC情况下,没有该问题。
原因:RR级别下,第一次快照读时创建read view,RC级别下,每次快照读均会创建新的read view
本文深入探讨了MVCC(多版本并发控制)机制,并通过对比RC(读已提交)和RR(可重复读)隔离级别,揭示了在RR级别下MVCC的一个潜在问题。在事务A未提交前修改数据的情况下,事务B在多次查询同一数据时,即使事务A最终提交,事务B仍可能获取到旧数据。此问题在RC级别下不会出现。
最近想再次深入学习MVCC原理,收藏了以下好文章,供以后查阅
阅读以上文章发现,MVCC机制是存在一个问题,也就是缺陷。
问题:在RR情况下,事务A开启事务后修改了数据a,但未提交commit;此时事务B开启事务后,要做多次查询数据a;如果事务A完成提交commit,事务B还是进行多次查询数据a,查询数据a还是第一次查询的数据。也就是使用旧数据。
在RC情况下,没有该问题。
原因:RR级别下,第一次快照读时创建read view,RC级别下,每次快照读均会创建新的read view

被折叠的 条评论
为什么被折叠?