行锁
- 读锁(共享锁)
上锁后数据可读不可写
select * from user where id = 1 LOCK IN SHARE MODE
- 写锁(排它锁)
select * from user where id = 1 FOR UPDATE
表锁
意向锁: 由数据引擎维护,用户无法手动操作
- 意向共享锁
- 意向排它锁
行锁算法
- Record
- Gap锁
记录不存在,Next-Key退化成Gap;
Gap之间不冲突
Gap只存再于可重复读(REPEATABLE READS)隔离级别中 - Next-Key锁(INNODB默认)