MySQL到底在RR层面解决幻读了吗?

本文探讨了MySQL的Repeatable Reads(RR)隔离级别如何处理幻读问题。通过MVCC和间隙锁,MySQL在大部分情况下解决了幻读,但并非完全。文章通过实例解释了快照读和当前读的概念,并指出快照读在写场景下仍可能出现幻读。最后,文章建议在需要写操作时使用'for update'语句以避免潜在问题。
摘要由CSDN通过智能技术生成

点击↑上方↑蓝色“编了个程”关注我~

这是Yasin的第 47 篇原创文章

Y说

hi,好久不见。

最近工作上有一些变动,文章很少更新。不过平时还是有收集一些文章idea,后面有空会慢慢写~

这篇文章是因为之前写了一篇关于InnoDB锁的文章,在个人网站上有读者留言问“间隙锁一定程度上解决了幻读问题,为什么不是完全解决了呢”,所以重新把MySQL中关于幻读的问题梳理了一遍。

文章写完后,发现自己也有新的收获,又了解了一些奇怪的知识点,哈哈。

隔离级别与幻读

数据库的事务有四种隔离级别,这四种隔离级别分别应用在不同的场景,隔离级别越低,并发性越高,但数据一致性就越差。四种隔离级别存在的问题如下表:

隔离级别 脏读 不可重复读 幻读
Read uncommitted
Read Committed
<
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值