rc问题

来源:3-16 锁模块之当前读和快照读

manong22

2019-12-04

老师您好,mvcc下select是不加锁的,是快照读,
问题一:以前rc和rr区别就是在select加锁上,那么mvcc下RC和RR有啥区别了?
问题二:RC是不是也可以解决可重复读的问题了,研究了好长时间,麻烦老师详细解答下,谢谢

写回答

1回答

翔仔

2019-12-04

同学好,

问题1:RC隔离级别时,事务中的每一条select语句会读取到他自己执行时已经提交了的记录,也就是每一条select都有自己的一致性读ReadView; 而RR隔离级别时,事务中的一致性读的ReadView是以第一条select语句的运行时,作为本事务的一致性读snapshot的建立时间点的。只能读取该时间点之前已经提交的数据。

问题2:因为每次select都会新开一个ReadView,所以能看到最新修改,所以没有解决不可重复读的问题

0
2
翔仔
回复
manong22
同学加油:)
2019-12-05
共2条回复

剑指Java面试-Offer直通车 百度资深面试官授课

招聘季即将到来,让百度资深面试官来为你的高薪Offer保驾护航

8427 学习 · 1870 问题

查看课程