对这两个概念比较模糊
深入浅出 MySQL 全文中指出 :
当我们使用范围条件而不是相等条件检索数据,并请求共享或排它锁时,InnoDB 会给符合条件的已有数据记录的索引项加锁;对于键值在条件范围内但不存在的记录,叫做 "间隙"( GAP ),InnoDB 也会对这个“间隙”加锁,这种锁机制就是所谓的间隙锁( Next-key 锁)。
但是在一些博客中的概念又不一样 :
https://www.cnblogs.com/zhoujinyi/p/3435982.html
我翻了下 高性能 MySQL , 没看到介绍 gap 和 Next-Key 的 。