提高加表锁的速度。加表锁时可以直接判断是否有锁冲突,不需要逐行检查锁的状态
意向锁是表级别的锁,用来标识该表上有数据被锁住或即将被锁,对于表级别的请求(LOCK TABLE…),就可以直接判断是否有锁冲突,不需要逐行检查锁的状态。
简单来说就是,对于加表级锁时的速度进行优化
我们可以把意向锁理解为一种标识,表示这个表中的某行存在排他锁或共享锁。
A表中的某行存在排他锁时,A表则有意向排他锁;共享锁同理。
在其他事务想要获得 A 表级的排他锁时,会先去检测 A 表的意向排他锁,存在则阻塞。
因为 A 表有意向排他锁这个标识的存在,避免了寻找 A 表中行级排他锁的行为,节省了资源。