MySQL:请教 select 语句中的间隙锁范围

节选自《MySQL45讲》第 30 节

begin;
select id from t where c in(5,20,10) lock in share mode;

这条查询语句里用的是 in,我们先来看这条语句的 explain 结果。
image.png
image.png

我的疑问:为什么是 (5,25) 而不是 (0,25) ?最开始不是已经为区间 (0, 5] 添加 next-key lock 了么?为什么间隙锁加到最后,区间 (0, 5) 反而不再加锁了?

阅读 2.5k
1 个回答

next-key 啊,如果从0-25的话,就是next-keys了……

推荐问题