mysql中有哪些粒度锁

2023-05-26 16:17:29 mysql 粒度 中有

1、表锁

表锁是指锁定时锁定整个表,下一个事务访问该表时,必须等到上一个事务解除锁定后再访问表

特点为粒度大,锁定简单,容易冲突。

2、行锁

是指锁定时锁定的是表的某行或多行记录,其他事务访问同一表时,只有锁定的记录不能访问,其他记录可以正常访问

特点为粒度小,锁比表锁麻烦,不易碰撞,比表锁支持的并发高

3、记录锁

记录锁也是锁的一种,但记录锁的范围只是表的某个记录,记录锁是事务锁后锁的只有表的某个记录。

4、间隙锁

间隙锁属于锁中的一种,间隙锁在事务上锁后锁定的是表记录的某个区间,表的相邻ID之间出现间隙时形成间隙,遵循左右关闭的原则。

5、临键锁

临键锁也是行锁的一种,是INNODB的行锁默认算法,总之是记录钥匙和间隙钥匙的组合,临时钥匙锁定查询的记录,同时锁定该范围查询内的所有间隙空间,锁定相邻的下一个区间。

相关文章