news 2026/3/12 1:08:32

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

作者头像

张小明

前端开发工程师

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/3/11 17:47:24

EasyGBS:融合算法与算力的核心能力及行业应用价值

在数字化、信息化快速发展的今天,视频监控已经成为各行各业不可或缺的一部分。从个人用户到大型企业,再到政府部门,视频监控的需求无处不在。在众多视频监控平台中,国标GB28181算法算力平台EasyGBS凭借其独特的优势,脱…

作者头像 李华
网站建设 2026/3/11 5:35:14

linux服务-MariaDB 10.6 Galera Cluster 部署

MariaDB 10.6 Galera Cluster 部署 文档参考:MariaDB Galera Cluster 10.6 集群部署, 豆包ai MariaDB 10.6 Galera Cluster是基于MariaDB 10.6社区版与Galera 4同步复制技术深度整合的高可用、多主复制集群解决方案,专为解决传统异步复制的…

作者头像 李华
网站建设 2026/3/5 15:17:17

新手入门:Web安全测试大盘点

随着互联网时代的蓬勃发展,基于Web环境下的应用系统、应用软件也得到了越来越广泛的使用。 目前,很多企业的业务发展都依赖于互联网,比如,网上银行、网络购物、网络游戏等。但,由于很多恶意攻击者想通过截获他人信息去…

作者头像 李华
网站建设 2026/3/9 15:15:40

基于单片机的视觉导航小车设计

2 项目硬件设计 2.1 主控模块设计 2.1.1单片机选型 控制芯片的选择应适合设计要求,性能应具有功耗低,性能高,稳定性好,存储空间大的优点。当设计要求准确时,代码指令的兼容性就很高。 STM32结构设计最大限度地减少了外…

作者头像 李华
网站建设 2026/3/11 0:36:17

3C电子制造质检升级:拍照式蓝光3D扫描在精密测量中的应用实践

在竞争白热化的3C手机制造市场,产品的精致度、严丝合缝的装配感以及极致的手感,已成为赢得市场青睐的关键。这离不开近乎苛刻的尺寸精度与外观品质要求。3C电子结构件大多具有壁薄、体积小、精密度高、结构复杂等特征,工件之间的配合间隙、形…

作者头像 李华