锁类型
| 锁 | 粒度 | 触发 |
|---|---|---|
| 记录锁 Record Lock | 行 | 等值命中索引记录 |
| 间隙锁 Gap Lock | 区间 | RR 下范围条件 |
| 临键锁 Next-Key | 记录+间隙 | RR 默认行为 |
| 意向锁 IS/IX | 表 | 行锁存在时自动加 |
| MDL | 表级元数据 | DDL/DML 对表结构 |
查看锁现状
查看锁现状
SELECT * FROM performance_schema.data_locks\G
SELECT * FROM sys.innodb_lock_waits\G
SHOW ENGINE INNODB STATUS\G -- TRANSACTIONS 段没有索引的 WHERE 会退化为扫全表并锁住大量行(甚至锁表效果),锁问题的根因常是索引缺失。