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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 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
相关文章
|
12小时前
|
存储 分布式计算 关系型数据库
云原生数据仓库AnalyticDB MySQL湖仓版架构升级,持续释放技术红利!
云原生数据仓库AnalyticDB MySQL湖仓版架降价23%!持续提供高性价比的产品服务
|
1天前
|
存储 SQL 关系型数据库
MySQL5.7到8.0的升级迁移!高效的MySQL跨版本迁移技术解读
NineData是一种高效、稳定且易于使用的迁移工具,可帮助用户将MySQL 5.7迁移到MySQL 8.0。由于MySQL 5.7已经结束生命周期并不再获得技术支持,因此迁移至MySQL 8.0是必要的。NineData提供了数据复制功能,包括数据迁移和实时同步,还支持双向复制。与传统迁移方法相比,NineData具有简单易用、数据一致、强劲性能和高可靠性的优势。它提供了完善的观测和干预能力,保障迁移的成功。此外,NineData还提供了对比功能,确保数据的一致性。通过简单的配置过程,用户可以实现自动化的数据迁移。NineData还提供了完善的观测和干预能力,帮助用户追踪迁移进展并诊断和修复
74 2
|
4天前
|
关系型数据库 MySQL 数据库
阿里技术官甩出的768页MySQL优化笔记,火遍全网不是意外
MySQL之所以能成为现在最流行的开源数据库,这跟它的开放性、包容性是分不开的。它的入门门槛低到用一条命令就能把MySQL安装起来,你能在程序开发的入门资料中很容易就找到MySQL的配套使用教程,你可以不用付任何费用就能在自己的环境中部署起来对外承载业务。
|
7天前
|
存储 分布式计算 关系型数据库
|
1月前
|
存储 算法 关系型数据库
【MySQL的CheckPoint技术】
【MySQL的CheckPoint技术】
|
2月前
|
存储 关系型数据库 MySQL
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(1)
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(1)
|
2月前
|
存储 关系型数据库 MySQL
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(2)
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(2)
|
2月前
|
关系型数据库 MySQL 索引
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(3)
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(3)
|
2月前
|
关系型数据库 MySQL
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(5)
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(5)
|
2月前
|
分布式计算 算法 关系型数据库
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(6)
带你读《2022技术人的百宝黑皮书》——mysql锁机制的再研究(6)
热门文章
最新文章
推荐文章
更多