19 期 | 锁模块里有什么?什么样? InnoDB 中管理表锁和行锁的锁模块,也就是传说中的锁子系统,在内存里是什么样的? 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。 1. 引言 前面三篇文章,我们分别介绍了 InnoDB 数据运维 2024-06-06 共饮一杯
18 期 | 锁在内存里长什么样? 表锁和行锁都由锁结构承载,这些锁结构在内存里是个什么样的存在? 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。 1. 共用的结构 InnoDB 的表锁结构和行锁结构,有一些共同属性,也有一些 数据运维 2024-05-31 共饮一杯
MySQL 核心模块揭秘 | 锁在内存里长什么样? 1. 共用的结构 InnoDB 的表锁结构和行锁结构,有一些共同属性,也有一些不同属性。 因为有共同属性,表锁结构和行锁结构都使用结构体 lock_t 来表示锁结构。 在 lock_t 之下,又定义了 lock_table_t、lock_rec_t 分别包含表锁结构和行锁结构的不同属性。 为了更直观的理解表锁结构和行锁结构,我们去掉 lock_t 的一些非核心信息之后,整理如下: // stora 数据运维 2024-05-29 泡泡
MySQL 核心模块揭秘 | 18 期 | 锁在内存里长什么样? 本文基于 MySQL 8.0.32 源码,存储引擎为 InnoDB。 目录 1. 共用的结构 2. type_mode 3. 表锁结构 4. 行锁结构 4.1 有名有姓的那些属性 4.2 隐姓埋名的内存区域 4.3 共用行锁结构的两个问题 5. 总结 正文 1. 共用的结构 InnoDB 的表锁结构和行锁结构,有一些共同属性,也有一些不同属性。 因为有共同属性,表锁结构和行锁结构都使用结构体 lo 数据运维 2024-05-29 竹子爱熊猫
16 期 | InnoDB 表锁 本文介绍了 InnoDB 支持哪几类表锁,以及它们分别都用在什么场景下,还介绍了其中两类表锁为什么要存在。 作者:操盛春,爱可生技术专家,公众号『一树一溪』作者,专注于研究 MySQL 和 OceanBase 源码。 爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。 1. 概述 MySQL 采用插件化存储引擎,从这个角度,整体结构可以分为两层: server 层。 存储 数据运维 2024-05-27 共饮一杯
MySQL 核心模块揭秘 | 16 期 | InnoDB 表锁 目录 1. 概述 2. 共享锁 & 排他锁 3. 意向共享锁 & 意向排他锁 4. AUTO-INC 锁 4.1 传统模式 4.2 连续模式 4.3 交错模式 5. 总结 正文 1. 概述 MySQL 采用插件化存储引擎,从这个角度,整体结构可以分为两层: server 层。 存储引擎。 基于以上两层结构,MySQL 的锁也可以分为两大类。 server 层的锁,就是让我们头痛不已 数据运维 2024-05-15 向阳逐梦