栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

mysql的RR下当前读和快照读不一致的情况;记录锁和间隙锁;幻读解释

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

mysql的RR下当前读和快照读不一致的情况;记录锁和间隙锁;幻读解释

先上幻读的解释

幻读,并不是说两次读取获取的结果集不同,幻读侧重的方面是某一次的 select 操作得到的结果所表征的数据状态无法支撑后续的业务操作。更为具体一些:select 某记录是否存在,不存在,准备插入此记录,但执行 insert 时发现此记录已存在,无法插入,此时就发生了幻读。

当前读和快照读不一致的情况

RR级别下,通过MVCC保证同一事务内两次快照读不出现幻读,通过间隙锁保证同一事务内两次当前读不出现幻读。但是如果是你先快照度一次,再当前读一次,如果两次读期间别的事务插入了数据并提交了的话,两次读的结果就可能不一致出现幻读。

记录锁和间隙锁

记录锁是加在索引上的锁,间隙锁是加在索引之间的。

间隙锁:将当前数据行与上一条数据和下一条数据之间的间隙锁定,保证此范围内读取的数据是一致的。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/301414.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号