MySQL nextkey lock 加锁范围总结:一定要实际操作
data_locks
select * from performance_schema.data_locks;
| LOCK_MODE | LOCK_DATA | 锁范围 |
|---|---|---|
| X,REC_NOT_GAP | 15 | 15 那条数据的行锁 |
| X,GAP | 15 | 15 那条数据之前的间隙,不包含 15 |
| X | 15 | 15 那条数据的间隙,包含 15 |
LOCK_MODE = X 是前开后闭区间;X,GAP 是前开后开区间(间隙锁);X,REC_NOT_GAP 行锁。这个单独介绍,是希望我理解的没有错误,如果大佬看到了,错误之处一定要帮忙指正出来。
主键索引
X,REC_NOT_GAP;X,GAP;前开后开区间;