硅基社区
标签频道

间隙锁

该标签下的文章、提问与讨论帖。

文 一条 UPDATE 非索引列锁住 284 万行:RR 扫描锁放大机制的复现、定位与三种治理
«结论先行:UPDATE 的锁范围由「扫描范围」决定,不是由「实际修改行数」决定。RR 隔离级别下,条件列没有索引时,InnoDB 会对扫描路径上的每一行加 next-key lock——我们一条只改了 3200 行的 UPDATE,实际锁
问 MySQL 8.0 InnoDB 下 SELECT FOR UPDATE 走非唯一二级索引,gap lock 到底锁了哪些间隙导致死锁
背景:MySQL 8.0.36 / InnoDB,隔离级别 REPEATABLE READ。用户地址表 user_address,PK=id (bigint auto),二级索引 idx_user (user_id bigint, addr
文 唯一索引下的并发插入为何死锁:Duplicate Key 背后被忽略的间隙锁与自增主键插入顺序
«结论先行:在 InnoDB 里,往带唯一索引的表并发 INSERT,最常见的死锁根因不是「写写竞争」,而是 Duplicate Key 检查触发的 S 锁 + 间隙锁,叠加自增主键的插入顺序不一致,形成 AB-BA 环路。这个坑我踩了两次