InnoDB之锁机制
前两天听了姜老大关于InnoDB中锁的相关培训,刚好也在看这方面的知识,就顺便利用时间把这部分知识做个整理,方便自己理解。主要分为下面几个部分
1. InnoDB同步机制
Lock
|
Latch
|
|
锁定对象
|
事务
|
线程 |
锁定持续时间 |
整个事务过程
|
临界资源持有过程
|
模式
|
行锁、表锁、意向锁
|
读写锁、互斥量
|
死锁
|
智能死锁检测 |
无死锁检测与处理机制
|
- Flush tables with read lock;
- select * from user where name = "libis" for update; 其中name字段不是user表的索引
![](https://nos.netease.com/cloud-website-bucket/20180709142421f8a04c87-3cd2-4ac0-be35-290b3f03b0e7.jpg)
- Record Lock : 单个行记录上的锁
- Gap Lock:锁定一个范围,但不包括记录本身
- Next-Key Lock:锁定一个范围,包括记录本身
![](https://nos.netease.com/cloud-website-bucket/2018070914252430eb2308-48a8-41e4-8e7a-1fb5434525e1.jpg)
![](https://nos.netease.com/cloud-website-bucket/201807091425369273acf3-3312-441e-b775-0173b3d1172b.jpg)
![](https://nos.netease.com/cloud-website-bucket/20180709142548167a3649-2774-4665-98f9-e6c830c223a1.jpg)
![](https://nos.netease.com/cloud-website-bucket/20180709142558ae53dde6-b2d8-4ccf-a938-c92420c91711.jpg)
相关阅读:InnoDB recovery过程解析
本文来自网易云社区,经作者范欣欣授权发布。
原文地址:InnoDB之锁机制
更多网易研发、产品、运营经验分享请访问网易云社区。
InnoDB之锁机制相关推荐
- Mysql InnoDB 的锁机制
目录 前言 1. 锁的分类 1.1 实现方式 1.2 锁的粒度 2. 查询操作加锁方式 2.1 一致性非锁定读 2.2 一致性锁定读 3. 锁的算法 4. 锁的升级 5. 死锁 6.总结 前言 锁机制 ...
- mysql innodb 的锁机制_Mysql之Innodb锁机制详解
InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION):二是采用了行级锁.关于事务我们之前有专题介绍,这里就着重介绍下它的锁机制. 总的来说,InnoDB按照不同的分类共有 ...
- 从一个死锁看mysql innodb的锁机制
2019独角兽企业重金招聘Python工程师标准>>> 背景及现象 线上生产环境在某些时候经常性的出现数据库操作死锁,导致业务人员无法进行操作.经过DBA的分析,是某一张表的inse ...
- 巧用MySQL InnoDB引擎锁机制解决死锁问题
案例如下: 在使用Show innodb status检查引擎状态时,发现了死锁问题: *** (1) TRANSACTION: TRANSACTION 0 677833455, ACTIVE 0 s ...
- MySQL锁机制(myisam表所与innoDB锁)
目录 1.MySQL锁的基本介绍 2.MyISAM表锁 2.1写锁阻塞读 2.2读阻塞写 3.InnoDB锁 3.1.事务及其ACID属性 3.2.并发事务带来的问题 3.3.1.在不通过索引条件查询 ...
- MySQL数据库:锁机制
当数据库中多个事务并发存取同一数据的时候,若对并发操作不加控制就可能会读取和存储不正确的数据,破坏数据库的一致性.MySQL锁机制的基本工作原理就是,事务在修改数据库之前,需要先获得相应的锁,获得锁的 ...
- MySQL调优(八):查缺补漏(mysql的锁机制,读写分离,执行计划详解,主从复制原理)
mysql的锁机制 1.MySQL锁的基本介绍 锁是计算机协调多个进程或线程并发访问某一资源的机制.在数据库中,除传统的 计算资源(如CPU.RAM.I/O等)的争用以外,数据也是一种供许多用户共 ...
- SQL优化之一则MySQL中的DELETE、UPDATE 子查询的锁机制失效案例
关注"数据和云",精彩不容错过 前言 开发与维护人员避免不了与 in/exists.not in/not exists 子查询打交道,接触过的人可能知道 in/exists.not ...
- Mysql锁机制简单了解一下
历史文章推荐: 可能是最漂亮的Spring事务管理详解 面试中关于Java虚拟机(jvm)的问题看这篇就够了 Java NIO 概览 关于分布式计算的一些概念 一 锁分类(按照锁的粒度分类) Mysq ...
- mysql的锁机制(读锁,写锁,表锁,行锁,悲观锁,乐观锁,间隙锁)
读锁和写锁 介绍 MyISAM表锁中的读锁和写锁 读锁(共享锁S): 对同一个数据,多个读操作可以同时进行,互不干扰.加锁的会话只能对此表进行读操作,其他会话也只能进行读操作.MyISAM的读默认是加 ...
最新文章
- Tensorflow MNIST浅层神经网络的解释和答复
- MATLAB 表数据结构最终篇,如何实现表操作
- 解决通过 Visual Studio 打不开 ui 文件的问题
- go语言实现将word文件转成pdf_超实用的PDF在线转换器,你绝对用的到~
- android 9.0 一加6,一加6终于升级到安卓9.0,但这两个BUG令人遗憾!
- 程序员面试金典 - 面试题 05.01. 插入(位运算)
- 现如今有一个很有意思的现象,不管是工厂还是经销商
- linux与s7-300,Siemens SIMATIC S7-300硬编码凭证安全限制绕过漏洞
- Python环境搭建之OpenCV(转载)
- [转]十个让你变成糟糕的程序员的行为
- Spring之AOP面向切面编程
- python导入上级目录的模块
- 深入浅出统计学——笔记(一)1~3章
- gdiplus画直线
- 信号与系统(六)z变换
- 【协议】LLDP、ARP、STP、ICMP协议
- 各邮箱的邮件接收服务器和发送服务器
- 计算机课题推荐人意见,课题申请推荐人意见怎么写
- 空气净化器哪个牌子好,除甲醛空气净化器什么牌子好推荐
- Typora下载安装及使用方法
热门文章
- Atitit fsm有限状态机概念与最佳实践 目录 1. 概念组成与原理成分	1 1.1. 1、状态机的要素 4个要素,即现态、条件、动作、次态	2 1.2. 状态表	2 2. 性状	2 2.1.
- atitit 完整的知识体系表 学科体系表 v2
- Atitit (Sketch Filter)素描滤镜的实现 图像处理 attilax总结v2
- Atitit.异步编程技术原理与实践attilax总结
- Atitit.ui控件---下拉菜单选择控件的实现select html
- paip.应用程序远程WEB 接口的设计
- (转)券商IT研发现状:一年最多花5亿 中小公司靠外包
- 毕设题目:Matlab图像检索
- 2021中国研究生数学建模竞赛
- 【图像压缩】基于matlab GUI DCT图像压缩(压缩率可调)【含Matlab源码 1049期】