RSS
菜单

MySQL 幻读怎么解决?Next-Key Lock 是什么?

幻读解决:① 快照读(普通 SELECT):MVCC 版本链保证同一事务读到一致快照(RR 下首次查询生成快照),天然无幻读;② 当前读(SELECT ... FOR UPDATE/LOCK IN SHARE MODE/UPDATE/DELETE):加锁解决——记录锁(行锁)+ 间隙锁(gap lock,锁区间)+ Next-Key Lock(记录锁+左开右闭区间锁,如 (10, 20]),锁住范围防止其他事务在区间插入。注意:RR 下 WHERE 无索引/等值不存在的记录会退化为间隙锁/表锁(锁范围扩大);RC 级别只锁记录(无间隙锁,仍有幻读风险)。

下载推广海报

圈内讨论推广海报

《MySQL 幻读怎么解决?Next-Key Lock 是什么?》完整推广海报
一起交流

全部回复 0

分享经验,让问题更进一步

讨论,从你的观点开始

还没有回复,欢迎补充经验或分享不同的思路。