一 模式 RR模式
二 mysql锁相关场景 1 有间隙的地方就可能有间隙锁,并非只有辅助索引的场景下才会存在gap lock,典型场景 id主键的范围查询 2 varchar的范围锁定原理和int类似,不过是按照字母排列顺序 3 rc模式同样可能存在间隙锁 典型场景 外键三 间隙锁加锁顺序 查询方式 1 等值查询,如果是唯一索引,next-key lock会退化为行锁,如果不是唯一索引,需要访问到第一个不满足条件的值,此时next-key lock会退化为间隙锁; 2 范围查询:无论是否是唯一索引,范围查询都需要访问到不满足条件的第一个值为止四 索引类型 非唯一性索引 会锁定条件范围上下不符合条件的记录范围,左开右闭五 间隙锁针对操作 1 针对锁定范围的插入操作 2 针对锁定范围的行的更新和删除,常见于不符合条件记录的边界锁定六 总结 1 采用主键和唯一性索引进行操作 2 采用limit进行操作,减少范围锁定的操作 3 对于order by desc+范围查找的操作,会选择<=范围=>扫描方式,要尤其注意4对于 in 里面的值 1 是根据每个值扫描逐渐加锁
2 和in内部的值的顺序无关