带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(4)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: 带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(4)

带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(3)https://developer.aliyun.com/article/1340032?groupCode=taobaotech


锁组合

虽然我们了解了上述知识,但是看死锁日志时偶尔也会一脸懵,是因为实际运行他们是组合起来共同完成的锁机制。

 

锁 的 模 式 : lock_s(读锁,共享锁) lock_x(写锁,排它锁)

 

锁的类型:

Record_Lock (锁记录)

Gap_Lock (锁记录前的GAP)

Next-Key Lock (同时锁记录+记录前的GAP) insert_Intention_Lock (插入意向锁,其实是特殊的GAP锁)

 

锁模型可以和锁类型任意组合,如:

locks gap before rec,表示为gap锁:lock->type_mode & LOCK_GAP

locks rec but not gap,表示为记录锁,非gap锁:lock->type_mode & LOCK_REC_NOT_GAP insert intention,表示为插入意向锁:lock->type_mode & LOCK_INSERT_INTENTION waiting,表示锁等待:lock->type_mode & LOCK_WAIT

 

 

 

在mysql源码中使用了uint32类型来表示锁, 最低的 4bit 表示 lock_mode, 5-8 bit 表示 lock_type(目前只用56 位,大小为 1632 ,表示 LOCK_TABLE LOCK_REC), 剩下的高位 bit 表示行锁的类型record_lock_type

 

insert语句加锁详解

唯一性索引插入

image.png

 

非唯一性索引插入

image.png

 

 

带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(5)https://developer.aliyun.com/article/1340029?groupCode=taobaotech

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
10天前
|
SQL 关系型数据库 MySQL
MySQL数据库进阶第五篇(锁)
MySQL数据库进阶第五篇(锁)
|
4天前
|
存储 关系型数据库 MySQL
深入浅出MySQL事务管理与锁机制
MySQL事务确保数据一致性,ACID特性包括原子性、一致性、隔离性和持久性。InnoDB引擎支持行锁、间隙锁和临键锁,提供四种隔离级别。通过示例展示了如何开启事务、设置隔离级别以及避免死锁。理解这些机制对优化并发性能和避免数据异常至关重要。【6月更文挑战第22天】
89 3
|
1天前
|
存储 关系型数据库 MySQL
重温MySQL的ACID实现原理:深入探索底层设计与机制
重温MySQL的ACID实现原理:深入探索底层设计与机制
|
1天前
|
存储 关系型数据库 MySQL
技术笔记:MySQL数据库优化详解(收藏)
技术笔记:MySQL数据库优化详解(收藏)
|
1天前
|
SQL 关系型数据库 MySQL
技术笔记:python连接mysql数据库
技术笔记:python连接mysql数据库
|
1天前
|
SQL 存储 关系型数据库
技术笔记:MYSQL常用基本SQL语句总结
技术笔记:MYSQL常用基本SQL语句总结
|
2天前
|
SQL 存储 关系型数据库
Mysql-事务-锁-索引-sql优化-隔离级别
Mysql-事务-锁-索引-sql优化-隔离级别
|
7天前
|
SQL NoSQL 关系型数据库
Mysql锁及适用场景
Mysql锁及适用场景
14 0
|
1天前
|
SQL 运维 关系型数据库
|
1天前
|
存储 关系型数据库 MySQL