InnoDB 锁类型
- Shared and Exclusive Locks (共享锁及排它锁)
- Intention Locks (意向锁)
- Record Locks (记录锁)
- Gap Locks (间隙锁)
- Next-Key Locks
- Insert Intention Locks (插入意向锁)
- AUTO-INC Locks (自增锁)
- Predict Locks for Spatial Indexes
Shared and Exclusive Locks
两种标准行级锁,共享(S)锁和排它(X)锁。
持有共享锁的事务可以读对应行;持有排它锁的事务可以修改或删除对应行。
Intention Locks
Record Locks
记录锁用于有索引的记录,例如SELECT c1 FROM t WHERE c1 = 10 FOR UPDATE; 阻止其它事务对t.c1为10的行进行插入、修改或删除操作。记录锁总是加在索引之上,即使表t没有索引,也会创建隐藏的clustered index。