mvcc read view

快照读:在RR隔离级别下:快照读有可能读到数据的历史版本,也有可能读到数据的当前版本。所以快照读无需用锁也不会发生幻读的情况。
当前读:select…lock in share mode,select…for update
当前读:update,delete,insert
读取的是记录的最新版本,所以所以就需要通过加锁(行锁 间隙锁 表锁)的方式,使得被当前读读过的数据不能被新增修改或者删除,换句话说再来一次当前读要返回相同的数据。

所以面试问题:mysql如何实现RR的?答案:MVCC + 行锁 + 间隙锁。快照读:mvcc,当前读:行锁 + 间隙锁。

转载:

  1. https://www.cnblogs.com/cswiki/p/15338928.html

  2. https://www.jianshu.com/p/750990ff4317

  3. https://juejin.cn/post/7134186501306318856

  4. https://blog.51cto.com/phyger/5155960

  5. https://juejin.cn/post/6871046354018238472

  6. https://blog.csdn.net/qq_35939417/article/details/112908831

  7. https://blog.csdn.net/qq_42651904/article/details/110622818

  8. https://blog.csdn.net/SnailMann/article/details/94724197

  9. https://www.cnblogs.com/zping/p/13994828.html

  10. https://juejin.cn/post/6871046354018238472

第一篇似乎有点小问题:针对快照读,rr下每次读取使用的是同一个rv,所以实现了重复度,rc下每次读取使用新的rv,所以实现了读提交
而针对当前度,使用了行锁 + 间隙锁 = next-key lock实现重复度

posted @   神一样的存在  阅读(101)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示