美文网首页
MySql InnoDB 锁机制

MySql InnoDB 锁机制

作者: 人未识 | 来源:发表于2017-11-02 10:50 被阅读0次

MySQL InnoDB支持三种行锁定方式:

l 行锁(Record Lock):锁直接加在索引记录上面,锁住的是key。
l 间隙锁(Gap Lock):锁定索引记录间隙,确保索引记录的间隙不变。间隙锁是针对事务隔离级别为可重复读或以上级别而已的。
l Next-Key Lock :行锁和间隙锁组合起来就叫Next-Key Lock。

默认情况下,InnoDB工作在可重复读隔离级别下,并且会以Next-Key Lock的方式对数据行进行加锁,这样可以有效防止幻读的发生。Next-Key Lock是行锁和间隙锁的组合,当InnoDB扫描索引记录的时候,会首先对索引记录加上行锁(Record Lock),再对索引记录两边的间隙加上间隙锁(Gap Lock)。加上间隙锁之后,其他事务就不能在这个间隙修改或者插入记录。

Gap Lock在InnoDB的唯一作用就是防止其他事务的插入操作,以此防止幻读的发生。
详见:http://blog.sina.com.cn/s/blog_a1e9c7910102vnrj.html

相关文章

  • MySQL锁机制漫谈(二)

    在MySQL锁机制漫谈(一)一文中,我们主要是探究了以下MySQL(主要是InnoDB)的锁的机制,但是我们平常经...

  • MySql InnoDB 锁机制

    MySQL InnoDB支持三种行锁定方式: l 行锁(Record Lock):锁直接加在索引记录上面,锁住...

  • Mysql InnoDB锁机制

    一、MySQL锁机制概述: (一)什么是锁,以及为什么使用锁和锁的运作? 锁是计算机协调多个进程或纯线程并发访问某...

  • Mysql InnoDB 锁机制

    InnoDB 锁机制 重要概念 当前读:当前读是指执行增删改的读,当前读会对数据加Next Key Lock 快照...

  • MySQL InnoDB锁机制

    在我们的日常工作中,经常会遇到各种死锁的场景,有的死锁分析起来是比较容易的,比如同类型的事务并发引起的死锁;而不同...

  • mysql Innodb锁机制

    参考:https://blog.csdn.net/soonfly/article/details/70238902...

  • 淘宝MySQL文档整理

    MySQL · 引擎特性 · InnoDB 事务锁系统简介 MySQL · 引擎特性 · Innodb 锁子系统浅...

  • Innodb的锁

    Innodb的锁是行级锁 mysql delete是否会锁表 MySQL的InnoDB存储引擎支持行级锁,Inno...

  • MySQL相关(一)——— 事务和锁

    事务的隔离级别和锁机制 【1】InnoDB 事务隔离级别和锁 【2】脏读、不可重复读、幻读 mysql 相关 常用...

  • mysql-innodb锁的实现及机制

    由于文章排版使用工具不能在简书上正常显示。 文章地址:mysql-innodb引擎锁的实现及机制

网友评论

      本文标题:MySql InnoDB 锁机制

      本文链接:https://www.haomeiwen.com/subject/xflopxtx.html