19 lines
928 B
Markdown
19 lines
928 B
Markdown
- 行锁
|
|
- 与表锁不能同时存在
|
|
- 表锁
|
|
- 锁定一张表
|
|
- 读写锁
|
|
- 读锁和读锁不互斥,其它情况互斥
|
|
- 意向共享锁,意向互斥锁
|
|
- 是为了解决如果要添加表锁需要检查是否有行锁的情况,可以根据意向锁判断是否存在行锁
|
|
- 意向锁和意向锁之间不会互斥
|
|
- 意向共享锁和表级别的读锁之间不互斥,其它会互斥
|
|
- 意向锁不会与任何行锁互斥
|
|
- 间隙锁
|
|
- 锁定的是两个索引之间的间隙,防止新的记录插入到该间隙中,主要是为了解决幻读的问题
|
|
- 一个事务读取某个范围的记录,另一个事务再这个范围内插入了新的记录
|
|
- 缺点
|
|
- 有一定死锁风险,性能影响,添加复杂性,锁定范围可能过大
|
|
- 临键锁
|
|
- 特殊的间隙锁,只与非唯一索引有关
|
|
- 非唯一索引列上都会存在一个临键锁,所著一段左开右闭的区间 |