news 2026/10/23 0:07:00

行锁真的解决了可重复读下的幻读问题吗?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
行锁真的解决了可重复读下的幻读问题吗?

关于 RR 级别下的幻读,其实大部分场景都被 MVCC 和 Next-Key Lock 解决了。但在一种特殊情况下,幻读依然存在。

首先要知道只快照读的话只靠MVCC就能防止快读。涉及到当前读加锁就能避免,但是下面这种情况是先快照读,再当前读导致出现的问题。

举个例子: 假设事务 A 开启后,执行了一次 SELECT,生成了快照(Read View)。此时表里只有 id=1。 紧接着,事务 B 插入了一条 id=2 并提交了。 按理说,事务 A 是看不见 id=2 的。 但是,如果事务 A 执行了一句 UPDATE … WHERE id=2,它竟然更新成功了! 更诡异的是,更新完之后,事务 A 再执行 SELECT,就能看见 id=2 了。

这就是典型的当前读打破了快照读的现象。也不是所有的当前读都会这样,主要是UPDATE,或者INSERT导致的唯一键冲突更新,update了后会导致mysql隐藏的行属性里的上一次修改这行的事务id改变为事务A根据MVCC可见性算法就会看到id=2了。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/21 15:00:12

性能测试参数化技术详解—项目实战教学

所谓脚本参数化,就是针对脚本中的某些常量,使用参数来取代。参数中包含很多数据源,数据源可以是一个文本文件也可以是数据库。当不同的Vuser在执行相同的脚本时,分别调用参数文件中的数据代替这些常量,从而达到模拟多用户真实使用的目的。 参数化的过程体现了数据驱动的思…

作者头像 李华
网站建设 2026/10/19 12:20:16

深度测评专科生必用的9款AI论文软件

深度测评专科生必用的9款AI论文软件 2026年专科生论文写作工具测评:为何需要一份权威榜单? 随着AI技术的不断进步,越来越多的专科生开始借助AI论文软件提升写作效率、优化内容质量。然而,面对市场上琳琅满目的工具,如何…

作者头像 李华
网站建设 2026/10/20 22:14:39

智能能耗优化:汽车制造企业如何落地EMS系统

一、汽车制造EMS系统的定义与核心价值在现代汽车工业的生产体系中,能耗管理已经不再是简单的成本控制问题,而是关乎企业竞争力、环保合规和可持续发展的综合性议题。汽车制造过程中的焊接、喷涂、烘干等工序,都是能耗密集型环节,传…

作者头像 李华
网站建设 2026/10/20 5:48:27

【视频合并】从零到一:完整视频合并工具的设计与实现

目录 摘要 第一部分:项目背景与需求分析 1.1 视频合并的应用场景与现实需求 1.2 技术选型与工具选择的考量 1.3 核心需求与功能规范 第二部分:应用程序整体架构设计 2.1 应用的分层架构与模块化设计 2.2 类的设计与职责划分 2.3 程序的执行流程与数据流向 第三部分:…

作者头像 李华