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

Mysql中锁机制深入理解

Mysql中锁机制深入理解

默认大家已经知道。

分类

性能

悲观锁,乐观锁

操作类型

读锁,写锁,

数据粒度

表锁,行锁,页面锁

更细粒度

间隙锁,临键锁

按使用来讲。

由数据粒度出发。

表锁,分为

  • 共享锁,Table Shared Lock;

  • 表独占锁,Table Write Lock;

页面锁,分为

  • 共享锁,Shared Lock;

  • 独占锁,Exclusive Lock;

行锁,分为

  • 共享锁,Shared Lock;

  • 排他锁,Exclusive Lock;

不管怎么样。

都可以分为

  • 共享锁(读锁),大家可以一起读取,但是不能update之类的,可以叫海王。

  • 独占锁(排他),只能我一个人拥有和改变,叫一个人的深情。


下面就是重点了

间隙锁和临键锁(next-key锁)

在我看来,行锁,其实是包括间隙锁和临键锁的。

刚百度了,

其中行锁分为:(行锁)记录锁、间隙锁、next-key锁(行锁+间隙锁)、插入意向锁、隐式锁。

间隙分为区间。

id:
1,2,3,6,7,8,18;

那么区间为,

(3,6), (8,18), (18,+无穷)

有东西出现在这三个空记录区间,就会产生 间隙锁。

详细说明

假设查询id为,[2,9]的记录。

 select*fromuserwhere id>=2and id<=9

情况如下,

2,3 - 有记录,记录锁(普通行锁)。
(3-6) - 区间没有记录,间隙锁。6,7,8 -有记录,记录锁(普通行锁)。
(8,18) -区间没有记录,间隙锁。

所以以上,全部加起来。

间隙锁,是闭区间。左毕右毕,我爬起来本地实验了。

[2,18),就是 行锁+间隙锁=临键锁(next-key)

欢迎探讨!!

记录锁、间隙锁、临键锁小案例演示,你学废了吗

http://www.lryc.cn/news/9568.html

相关文章:

  • 去中心化社交网络协议除了Nostr还有哪些?
  • 【FT2000/4+X100】调试记录
  • 我的Android启动优化—【黑白屏优化】
  • TongWeb8编码设置说明
  • 不同相机之间图片像素对应关系求解(单应性矩阵求解)
  • 远程管理时代,还得是智能化PDU才靠得住!
  • 通俗易懂理解——布隆过滤器
  • TypeScript 学习之类型推导
  • Android四大组件——Service详解
  • svg转png
  • 教你如何搭建人事OA-员工管理系统,demo可分享
  • C++递推基础知识
  • 【Python入门第十天】Python 布尔
  • WebDAV之π-Disk派盘+Piktures
  • Revit问题:Navisworks中导入的rvt模型角度不正确调整
  • 最全正则验证
  • 阿里云服务器入门使用流程 新手学习教程
  • git学习
  • 新建一个完整的react项目和完善初始项目
  • HIVE 安装
  • jsp游泳馆门票管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目
  • C++ ---智能指针详解
  • 企业带宽控制管理
  • MybatisPlus实现分页效果并解决错误:cant found IPage for args!
  • C语言赋值(关系)运算符和逗号运算符
  • 几种在Linux/window下查询外网IP的办法。
  • 【nodejs-05】黑马nodejs学习笔记05-数据库基本操作01
  • 零基础、学历无优势、逻辑能力一般”,能转行做程序员吗?
  • 第五章.与学习相关技巧—Batch Normalization
  • Zynq非Video Mixer方案实现视频叠加输出,无需SDK配置,提供工程源码和技术支持