提高加表锁的速度。加表锁时可以直接判断是否有锁冲突,不需要逐行检查锁的状态

意向锁是表级别的锁,用来标识该表上有数据被锁住或即将被锁,对于表级别的请求(LOCK TABLE…),就可以直接判断是否有锁冲突,不需要逐行检查锁的状态。

简单来说就是,对于加表级锁时的速度进行优化

我们可以把意向锁理解为一种标识,表示这个表中的某行存在排他锁或共享锁。

A表中的某行存在排他锁时,A表则有意向排他锁;共享锁同理。

在其他事务想要获得 A 表级的排他锁时,会先去检测 A 表的意向排他锁,存在则阻塞。

因为 A 表有意向排他锁这个标识的存在,避免了寻找 A 表中行级排他锁的行为,节省了资源。