全网最详细MVCC讲解,一篇看懂( 六 )


T3
 
select * from user
T4
insert into user(id, name) values(2, "小张')
 
T5
 
update user set name="小陈" where id=2
T6
 
select * from user
T7
commit
 
T8
 
commit
UPDATE 语句也是当前读,也会发生幻读问题,最终看到的数据是name 分别为 "小明" 和 "小陈" 。
这里发生幻读的原因,和上面的例子是一样的,本质都是在一个事务中,即使用了快照读又使用了当前读 , RR 级别下无法预防此种情况,所以说 RR 级别下无法完全解决幻读问题 。
总结【全网最详细MVCC讲解,一篇看懂】综上所述 , MVCC 是一种强大的并发控制机制 , 在高并发环境中起着重要的作用 。通过了解 MVCC 的原理和实现流程,我们可以更好地理解 MySQL 的并发控制机制,理解 MVCC 的原理对于接触 MySQL 的开发人员来说是必不可少的知识点 。




推荐阅读