当前位置: 首页 > news >正文

MySQL 锁的分类

MySQL 中的锁机制是保证数据一致性和并发控制的关键,主要可以分为以下几大类:

1. 按锁的粒度分类

(1) 全局锁

  • ​FLUSH TABLES WITH READ LOCK (FTWRL)​
  • 锁定整个数据库实例
  • 主要用于备份操作

(2) 表级锁

  • ​表锁​​:锁定整张表
    • 共享锁(S锁)
    • 排他锁(X锁)
  • ​元数据锁(MDL)​
    • 自动加锁,防止DDL操作导致的问题
    • DDL 定义数据结构(创建/修改表等),如 CREATE TABLEALTER TABLEDROP TABLE

(3) 行级锁

  • ​记录锁(Record Lock)​
    • 锁定索引记录
  • ​间隙锁(Gap Lock)​
    • 锁定索引记录间的间隙
  • ​临键锁(Next-Key Lock)​
    • 记录锁+间隙锁的组合
  • ​插入意向锁(Insert Intention Lock)​
    • 特殊的间隙锁

2. 按锁的兼容性分类

(1) 共享锁(S锁)

  • 读锁,允许多个事务同时读取
  • 语法:SELECT ... LOCK IN SHARE MODE (8.0+使用FOR SHARE)

(2) 排他锁(X锁)

  • 写锁,独占锁
  • 语法:SELECT ... FOR UPDATE

3. 按锁的实现方式分类

(1) 悲观锁

  • 默认锁定机制
  • 先加锁再操作

(2) 乐观锁

  • 不加锁,通过版本号控制
  • 需要应用层实现

4. 意向锁(Intention Lock)

  • ​意向共享锁(IS)​
  • ​意向排他锁(IX)​
  • 表级锁,表示事务有意向在表中的行上获取锁

5. 自增锁(AUTO-INC Lock)

  • 特殊表级锁,用于自增列

6. 死锁

  • 多个事务互相等待对方释放锁
  • InnoDB会自动检测并回滚代价较小的事务

不同存储引擎的锁支持

存储引擎表锁行锁页锁
InnoDB支持支持不支持
MyISAM支持不支持不支持
BDB支持不支持支持

实际应用中,InnoDB的行级锁和MVCC机制提供了良好的并发性能,而MyISAM仅支持表锁,在高并发场景下性能较差。

全表行三粒度,读共写独两相异,悲锁先占乐后验,意向自增有玄机

全局锁像封城,表锁像会议室,行锁像占座,
意向锁是预告,自增锁是发号,死锁是堵车!
悲观锁先抢再干,乐观锁先干再验!

http://www.lqws.cn/news/537949.html

相关文章:

  • WinAppDriver 自动化测试:C#篇
  • EMQ X Broker 配置HTTP 的外部鉴权接口
  • 生物化学 PCR(聚合酶链式反应)引物 制造(固相磷酰胺化学法) 购买 存储
  • 如何在x86_64 Linux上部署Android Cuttlefish模拟器运行环境
  • MySQL事物隔离级别详解
  • 笔记04:层叠的定义及添加
  • 链表基本功(相交链表)
  • Ubuntu通过防火墙管控Docker容器
  • Go语言与云原生:Kubernetes Operator开发全流程
  • Selenium+Pytest自动化测试框架实战
  • 第十二章:温度传感器拓展模块
  • 《汇编语言:基于X86处理器》第5章 过程(1)
  • LeetCode 2311.小于等于 K 的最长二进制子序列:贪心(先选0再选1)-好像还是比灵神写的清晰些
  • Python打卡:Day36
  • 永磁无刷电机旋转原理
  • 数据结构进阶 第六章 树与二叉树
  • 15.三数之和
  • 教程 | 一键批量下载 Dify「Markdown 转 Docx」生成的 Word 文件(附源码)
  • GraphQL注入 -- GPN CTF 2025 Real Christmas
  • Spring Boot高并发 锁的使用方法
  • 与 AI 聊天更顺畅:cat_code.py
  • [深度学习][python]yolov13+bytetrack+pyqt5实现目标追踪
  • 数据结构进阶 - 第九章 排序
  • Docker安装Mysql、配置文件挂载、修改Mysql编码
  • C2远控篇CC++SC转换格式UUID标识MAC物理IPV4地址减少熵值
  • 什么是谓词下推?
  • leetcode:50. Pow(x, n)(python3解法,数学相关算法题)
  • 苍穹外卖day3--公共字段填充+新增菜品
  • 桌面小屏幕实战课程:DesktopScreen 11 SPI 水墨屏
  • 超声波清洗机相对于传统清洗方法有哪些优势?