共享锁
S锁,读锁,可以与其他读会话共存
排它锁
X锁,写锁,当前锁定记录上不能获取共享锁及排它锁
意向共享锁
IS,在拿到共享锁之前先拿意向共享锁,优化锁的性能,快速返回
意向排他锁
IX,在拿到排他锁之前先拿意向排他锁,优化锁的性能,快速返回
自增锁
用于ID的自增,
临键锁
- <
- >
- between
上锁的是查询的返回范围以及邻接的节点(左开右闭),防止幻读
间隙锁
如果查询没有匹配上,那么上的是间隙锁。就在于当前匹配到的两个索引项之间加的锁。
记录锁
上的就是行级锁,做精准匹配用的。
InnoDB行锁,给索引上的索引项加锁,如果当前字段没有设置索引,那么上锁的是正张表。
脏读
对应行加上排他锁,其他会话也就无法读取当前行记录
不可重复读
对应行加上共享锁,其他会话也就可以重复读取当前行记录,但是不能写入或更新数据
幻读
对当前涉及的行加上临键锁,那么只有当前会话提交了,其他会话才能插入数据