mysql中事务隔离级别的疑问?

请问在 Innodb 引擎下且在可重复读的隔离级别下幻读问题是否已解决?
我以前的理解是在可重复读隔离级别下任然存在幻读问题
但是我有看到其他笔记和大佬说解决了,我就不确定?

参考连接 blog.csdn.net/yangyiping525/articl...

《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
最佳答案

InnoDB 用 Next-Key Lock 锁算法解决了可重复读隔离级别下的幻读问题,就是采用了间隙锁和索引锁的结合模式

2年前 评论
xiayimiaozhongjianni (楼主) 2年前
Aroad 2年前
讨论数量: 7

针对不同的隔离级别,并发事务时可能发生的现象也会不同。 file

事务 A 只负责查询余额,事务 B 则会将我的余额改成 200 万,下面是按照时间顺序执行两个事务的行为: file

在不同隔离级别下,事务 A 执行过程中查询到的余额可能会不同:

在「可重复读」隔离级别下,事务 A 只能看见启动事务时的数据,所以余额 V1、余额 V2 的值都是 100 万,当事务 A 提交事务后,就能看见最新的余额数据了,所以余额 V3 的值是 200 万;

2年前 评论

InnoDB 用 Next-Key Lock 锁算法解决了可重复读隔离级别下的幻读问题,就是采用了间隙锁和索引锁的结合模式

2年前 评论
xiayimiaozhongjianni (楼主) 2年前
Aroad 2年前

纸上得来终觉浅,绝知此事要躬行,为什么不亲自试试呢,而在这人发帖提问

2年前 评论

你参考帖子中的图片是描述的标准的 sql 隔离级别的实现原理,和 innodb 的事务隔离级别实现原理有区别。 ,你可以参考这个帖子的事务隔离级别的部分:分享:2022PHP 面试题分享及归档(持续更新) file

2年前 评论