InnoDB存储引擎的锁机制
数据库按照排他性来划分可划分为:
- 共享锁 shared(S)锁 持有共享锁允许执行读取数据的事务
- 排他锁exclusive(X)锁 持有排他锁允许执行更新或删除的事务
意向锁
InnoDB
支持多粒度锁定,允许行锁和表锁共存。意向锁是表级锁,同时指示了稍后对表中的行操作需要的锁类型。
意图锁有两种类型:
意向锁的获取规则:
-
在事务可以获取表中某行的共享锁之前,它必须首先获取
IS
表上的锁或更强。 -
在事务可以获取表中某行的独占锁之前,它必须首先获取
IX
表上的锁。