博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql锁(Innodb)
阅读量:5891 次
发布时间:2019-06-19

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

锁的隔离级别

事务隔离级别 脏读 不可重复读 幻读
读未提交(read-uncommitted)
读已提交(read-committed)
可重复读(repeatable-read)
串行化(serializable))

锁的分类

粒度划分

  • 行锁:Record Lock、Gap Lock、Next-Key Lock
  • 表锁
  • 页面锁

级别划分

  • 读锁(Share Locks,S锁)
  • 写锁(Exclusive Locks,简称X锁)
  • 意向读锁(IS):事务打算给数据行加行共享锁,事务在给一个数据行加共享锁前必须先取得该表的IS锁
  • 意向写锁(IX):事务打算给数据行加行排他锁,事务在给一个数据行加排他锁前必须先取得该表的IX锁
是否兼容 X IX S IS
X 冲突 冲突 冲突 冲突
IX 冲突 兼容 冲突 兼容
S 冲突 冲突 兼容 兼容
IS 冲突 兼容 兼容 兼容

加锁流程

  • 加锁的基本单位是 next-key lock,锁是加在索引上的
  • 查找过程中,访问到的对象才会加锁
  • 索引上的等值查询,给唯一索引加锁的时候,next-key lock退化为行锁
  • 索引上的等值查询,向右遍历时且最后一个值不满足等值条件的时候,next-key lock退化为间隙锁
  • 唯一索引上的范围查询会访问到不满足条件的第一个值为止。

转载地址:http://xofsx.baihongyu.com/

你可能感兴趣的文章
HTML5音频audio属性
查看>>
ES6学习
查看>>
Centos7搭建Django环境
查看>>
序列化一个Intent
查看>>
JavaScript数据类型及语言基础--ife
查看>>
进阶 Nginx 高手必须跨越的 5 座大山
查看>>
部署P2P升级的脚本
查看>>
jenkins--ant持续集成测试build文件脚本 测试报告
查看>>
ubuntu下安装libxml2
查看>>
nginx_lua_waf安装测试
查看>>
easyui 只刷新当前页面的数据 datagrid reload 方法
查看>>
58到家完成3亿美金A轮融资 阿里平安等投资
查看>>
Mysql-mmm高可用方案安装及配置
查看>>
【狂人小白】MyBatis.001 学习巴提斯!
查看>>
全面解析C#中参数传递
查看>>
修改注册表防止SYN淹没式攻击
查看>>
WinForm窗体缩放动画
查看>>
Memcached 安装及启动脚本
查看>>
《精通VMware vSphere 6》——第2章 规划与安装 VMware ESXi 2.1规划VMware vSphere部署...
查看>>
如何安装体验 Ubuntu on Windows
查看>>