博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 原理 ~ 常规锁
阅读量:5732 次
发布时间:2019-06-18

本文共 561 字,大约阅读时间需要 1 分钟。

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

转载于:https://www.cnblogs.com/danhuangpai/p/8393197.html

你可能感兴趣的文章
java Stringbuffere构造方法
查看>>
优秀的多站点远程桌面连接管理软件Remote Desktop Organizer
查看>>
mysql(slow-query) 快速开启慢日志查询的方法
查看>>
【Spring学习笔记】之【3.1DI的配置使用 一】
查看>>
最长平台
查看>>
关于近期HBase系统设计开发和性能调优的一些小结
查看>>
mysql数据库备份和还原常用的命令
查看>>
linux下大于2TB硬盘格式化及挂载
查看>>
将 SeeedArchLink 变为 micro:bit(micropython)
查看>>
20个很有用的CSS技巧
查看>>
org.springframework.web.context.support.WebApplicationContextUtils
查看>>
负载均衡之起始篇
查看>>
Storm学习
查看>>
2010上半年网络规划设计师上午试卷、标准答案及分析Ⅱ
查看>>
微信小程序/公众号/开放平台开发资料汇总
查看>>
linux学习
查看>>
Maven命令行使用:mvn clean package(打包)
查看>>
jqgrid中实现前台界面显示字符长度固定,后面用省略号代替
查看>>
Screen简单使用
查看>>
Fabric安装
查看>>