mysql中有哪些粒度锁
1、表锁
表锁是指锁定时锁定整个表,下一个事务访问该表时,必须等到上一个事务解除锁定后再访问表
特点为粒度大,锁定简单,容易冲突。
2、行锁
是指锁定时锁定的是表的某行或多行记录,其他事务访问同一表时,只有锁定的记录不能访问,其他记录可以正常访问
特点为粒度小,锁比表锁麻烦,不易碰撞,比表锁支持的并发高
3、记录锁
记录锁也是锁的一种,但记录锁的范围只是表的某个记录,记录锁是事务锁后锁的只有表的某个记录。
4、间隙锁
间隙锁属于锁中的一种,间隙锁在事务上锁后锁定的是表记录的某个区间,表的相邻ID之间出现间隙时形成间隙,遵循左右关闭的原则。
5、临键锁
临键锁也是行锁的一种,是INNODB的行锁默认算法,总之是记录钥匙和间隙钥匙的组合,临时钥匙锁定查询的记录,同时锁定该范围查询内的所有间隙空间,锁定相邻的下一个区间。
相关文章