行锁

23 期 | 锁等待

本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。 1. 先排队 不管是加表锁,还是加行锁,如果不能立即获得锁,加锁事务都需要进入锁等待状态。 事务进入锁等待状态…

MySQL 核心模块揭秘 | 22 期 | 行锁 (2) 慢速加锁

目录1. 加过锁了吗?2. 需要等待吗?3. 先找个复用的行锁结构4. 没找到就申请一个新的5. 总结正文1. 加过锁了吗?快速加锁逻辑主打简单、快速,它只能处理简单的情况,即通过…

MySQL锁、加锁机制(超详细)—— 锁分类、全局锁、共享锁、排他锁;表锁、元数据锁、意向锁;行锁、间隙锁、临键锁;乐观锁、悲观锁

文章目录 一、概述 1.1 MySQL锁的由来 1.2 锁定义 1.3 锁分类 二、共享锁与排他锁 2.1 共享锁(S锁) 2.2 排他锁(X锁) 2.3 MySQL锁的释放 三、…

21 期 | 行锁 (1) 快速加锁

行锁有两种加锁逻辑,这一期我们聊聊其中之一的快速加锁。 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区…

MySQL 核心模块揭秘 | 21 期 | 行锁 (1) 快速加锁

目录1. 两种加锁逻辑2. 先拿个令牌3. 再获取行锁结构4. 快速加锁之一5. 快速加锁之二6. 慢速加锁条件有哪些?7. 总结正文1. 两种加锁逻辑更新、删除记录都需要加行锁,…

MySQL 核心模块揭秘 | 19 期 | 锁模块里有什么?什么样?

作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来…

18 期 | 锁在内存里长什么样?

表锁和行锁都由锁结构承载,这些锁结构在内存里是个什么样的存在? 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生…

MySQL 核心模块揭秘 | 18 期 | 锁在内存里长什么样?

本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。目录1. 共用的结构2. type_mode3. 表锁结构4. 行锁结构4.1 有名有姓的那些属性4.2 隐姓埋…

OceanBase诊断调优 (八) —— 一文教会你排查锁冲突问题

最近总结一些诊断OCeanBase的一些经验,出一个【OceanBase诊断调优】专题,也欢迎大家贡献自己的诊断OceanBase的方法。1. 前言OB采用了两阶段封锁机制来保证读…