为了账号安全,请及时绑定邮箱和手机立即绑定

怎么解决幻读?

标签:
MySQL

脏读、不可重复读、幻读,这是概念,如果不理解,听起来会很懵逼。


脏读,是两个事务相互影响,导致数据不准,读未提交会导致脏读、不可重复读、幻读。


不可重复读,是同一个事务里面,每次读取的数据不一样,读已提交。引入了快照的概念,读取的是快照,快照有不同的版本号,根据版本号可以判断事务提交的先后顺序。避免了数据的混乱。如果A事务开始之后,B事务修改并提交了同一条数据,那么A事务会从undo log里面找到B事务开始之前的数据。实现可重复读,使用的是mvcc,多版本并发控制。


幻读,是数据新增导致的,因为新增的数据不在库里面,无法通过上面的方法控制。得用间隙锁控制,通过对区间加锁来解决幻读的问题。



点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消