一个Next-key锁结合了行锁和gap锁。

InnoDB执行一个行级别锁在这样的一个途径,那就是它搜索或者扫描一个表索引时,它设置共享或者独占锁在它遭遇的索引记录上。于是,行级锁是真实的行记录锁。一个next-key锁在一个行记录上总是这个行记录前的间隙。这就是一个next-key是一个索引记录锁加上一个在这个记录前的间隙锁。如果一个会话有一个共享锁或者一个独占锁在一个索引的记录R上,另外的会话不能插入一个新索引记录在R前的间隙。

猜测一个索引包含10,11,13,20。可能这个索引的next-key锁盖以下间隔,这个间隔在一个圆括号表示的排除节点符号和一个方括号表示包含节点符号。

看这个最后的间隔,next-key锁锁定在索引中上面的最大值和一个“临界值”伪记录,这个伪记录有一个比任何实际值都高的值,这个伪记录不是真实的记录,因此,在这个影响下,这个next-key锁仅仅锁了跟随在最大索引值的间隙。

默认情况下,InnoDB操作在可重复度事务隔离级别,在这个案例,InnoDB使用next-key为查找和索引扫描锁定,防止phantom(幻影)行的出现。

事务数据为一个next-key锁展现到跟随在下面语句的输出:

最新文章

  1. ORACLE口令管理
  2. SQL挑战——如何高效生成编码
  3. 线段树(区间合并) LA 3989 "Ray, Pass me the dishes!"
  4. .NET中的标识符、关键字 以及 .NET中的命名规范
  5. php笔记02:整型细节说明
  6. C++程序设计实践指导1.15找出回文数改写要求实现
  7. python正则表达式练习篇2
  8. 管理支撑办公系统技术架构选型对照讨论(J2EE与SOA对照)
  9. Android中网络流量控制(防火墙)——Iptables
  10. CentOS下tmux安装与使用
  11. Gazebo機器人仿真學習探索筆記(一)安裝與使用
  12. SQL反模式学习笔记12 存储图片或其他多媒体大文件
  13. SPOJ Distinct Substrings SA
  14. Shutting down CodePlex 03/31/2017
  15. 【Python】xpath中为什么粘贴进去代码后老报错?如何在定位元素的时候准确找到定位切入点?
  16. VS Code 基本介绍 和 快捷键
  17. matlab中关于函数句柄、feval函数以及inline函数的解析 (转)
  18. ZH奶酪:Ubuntu启动/重启/停止apache服务
  19. 基于SSH的客户关系管理系统CRM-JavaWeb项目-有源码
  20. P-R曲线及与ROC曲线区别

热门文章

  1. Javascript中类型: undefined, number ,string ,object ,boolean
  2. HDU4631(标程代码)
  3. MySQL-5.7 存储过程及函数
  4. html5 canvas js(数字时钟)
  5. ASP.MVC 项目中使用 UEditor 文本编辑器
  6. Mac & Xcode 技巧
  7. SpringBoot中使用hikariCP
  8. React Native中加载指示器组件ActivityIndicator使用方法
  9. ELK分布式日志收集搭建和使用
  10. JavaScript面向对象之Prototypes和继承