当前位置: 首页 > news >正文

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

关于 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了。

http://www.jsqmd.com/news/210941/

相关文章:

  • 什么是CMS系统
  • Chemelex将Electric Heat Trace Group Ltd.的SmartTrace监控平台纳入其伴热产品组合
  • 百度测开初面面试题分享
  • EasyGBS:融合算法与算力的核心能力及行业应用价值
  • 测试人员职业跃迁:精准把握时机与明智抉择
  • 新手入门:Web安全测试大盘点
  • 物联网Linux 代理模块设计
  • EasyGBS助力构建企业生产智能监控新体系
  • 管理权限累到手抽筋,智慧园区多租户管理方案高效管理
  • 第一篇笔记窗口函数(Window Function),记录我学习sql的命苦笔记
  • 基于单片机的多功能智能台灯(有完整资料)
  • 基于单片机的温度控制系统的设计
  • 【SLAM】嵌入式系统硬件存储及其架构设计
  • Mysql中event用法详解,零基础快速入门必看!
  • 性能测试参数化技术详解—项目实战教学
  • 基于单片机的无线通信报警系统
  • 基于单片机的轴承售卖系统设计
  • 深度测评专科生必用的9款AI论文软件
  • 基于单片机的室内空气质量监控系统设计
  • 基于PLC的控制分拣机械手设计 ——硬件设计
  • 基于单片机的视觉导航小车设计
  • 吐血推荐MBA必用TOP8 AI论文软件测评
  • 基于单片机的语音存储与回放系统设计
  • 信息安全从入门到精通:技术、管理与法规的全景解读
  • 基于单片机的蓝牙无线密码锁设计
  • 如何规划你的网络安全认证之路?详解通往CISSP的“黄金跳板”证书
  • 智能能耗优化:汽车制造企业如何落地EMS系统
  • 图解TCP核心机制:一张速查表搞定协议要点、面试题与实战调优
  • 基于单片机的智能晾衣架控制系统的设计与实现
  • 助力航空精密制造:Tube Qualify在管路在线检测与弯曲分析中的应用