幻读和不可重复读的区别

(3) 2024-05-11 12:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说幻读和不可重复读的区别,希望能够帮助你!!!。

微信搜索【程序员囧辉】,关注这个坚持分享技术干货的程序员。

前言

本文只讨论 MySQL InnoDB 的情况。

 

不可重复读

在一个事务中多次读取同一个数据时,结果出现不一致。

幻读和不可重复读的区别_https://bianchenghao6.com/blog__第1张

 

解决:在 MySQL InnoDB 中,Repeatable Read 隔离级别使用 MVCC 来解决不可重复读问题。

 

幻读

在一个事务中使用相同的 SQL 两次读取,第二次读取到了其他事务新插入的行。

幻读和不可重复读的区别_https://bianchenghao6.com/blog__第2张

 

解决:在 MySQL InnoDB 中,Repeatable Read 隔离级别不存在幻读问题,对于快照读,InnoDB 使用 MVCC 解决幻读,对于当前读,InnoDB 通过 gap locks 或 next-key locks 解决幻读。

 

关于 MVCC 的更多内容可以查看 《MySQL 8.0 MVCC 核心原理解析(核心源码)

 

推荐阅读

 

如何写一份让 HR 眼前一亮的简历(附模板)

字节、美团、快手核心部门面试总结(真题解析)

面试阿里,HashMap 这一篇就够了

面试必问的 MySQL,你懂了吗?

面试必问的线程池,你懂了吗?

4 年 Java 经验,阿里网易拼多多面试总结、心得体会

跳槽,如何选择一家公司

如何准备好一场大厂面试

MySQL 8.0 MVCC 核心原理解析(核心源码)

921天,咸鱼到阿里的修仙之路

复习2个月拿下美团offer,我都做了些啥

 

 

另外,我还准备了很多大厂面试资料、0基础自学教程,由于不能放外链,所以有需要的小伙伴去公众号【程序员囧辉】回复【资料】自行获取好了。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复