请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

为什么RR隔离级别下,select能读取到后开启事务的更新操作

看到老师在RR隔离级别下的例子,test3 session优先开启事务,test4 session接着开启。然后在test4 session中执行了一条update操作,将数据更新为0。
再在test3 session中执行了select,这个时候读取到了之前更新的。为什么这个时候能读取到? 事务不是test3 session先开启的么?所以test3 session的事务id要大于test4 session的事务id才对。

老师能否用行的db_trx_id跟结合read view的m_low_limit_id跟m_up_limint_id来解释下这个过程

正在回答 回答被采纳积分+3

1回答

翔仔 2020-10-11 23:05:12

同学好,咱们后面ReadView是在test4 session关闭之后,也就是test4 session不是活跃事务了之后开启的,所以跟m_low_limit_id和m_up_limint_id没有关系了,开启的时候,是能读取到已经提交的数据的

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信