zoukankan      html  css  js  c++  java
  • mysql 原理 ~ 常规锁

    一 模式 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内部的值的顺序无关

  • 相关阅读:
    druid spring监控配置
    深入理解Java:SimpleDateFormat安全的时间格式化
    Thread.join()方法
    static 作用
    Java链接SqlServer,学生数据管理面板
    java巅峰作业
    2019.6.12Java/IO data
    Java常用类
    2019.6.5
    java求和运算窗口5.29
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/8393197.html
Copyright © 2011-2022 走看看