mysql锁机制、MVCC 与 thinkphp的lock方法记录
加锁的基本单位为next-key lock = 间隙锁+行锁,范围为前开后闭,但加锁过程为先申请间隙 锁在申请行锁。只有访问到的对象才可以加锁。等值查询:①主键索引:next-key lock会退化为行锁;②非主键索引:保持原样等值查询:InnoDB会向右继续遍历,找到第一个不符合的数据行,加next-key lock并退化为间隙锁。范围查询:先找到复核条件的一行数据,再向右查找,向右查找时加的锁不会退化为间隙锁。无论什么情况下,InnoDB 会往前扫描到第一个不满足条件的行为止。
转载
2023-05-12 08:21:54 ·
445 阅读 ·
0 评论