社区
数据库
帖子详情
mysql中的间隙锁和插入意向锁
IfDevilN
2020-03-31 12:21:40
官方说插入意向锁也是一种间隙锁,间隙锁之间是可以兼容的,所以插入意向锁之间确实是可以兼容的,但是为什么普通间隙锁和插入意向锁就是不兼容呢,这不矛盾了?我理解的不对?各位大神求教呀!!!
...全文
547
1
打赏
收藏
mysql中的间隙锁和插入意向锁
官方说插入意向锁也是一种间隙锁,间隙锁之间是可以兼容的,所以插入意向锁之间确实是可以兼容的,但是为什么普通间隙锁和插入意向锁就是不兼容呢,这不矛盾了?我理解的不对?各位大神求教呀!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
1 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
IfDevilN
2020-03-31
打赏
举报
回复
求大佬解惑!!!
记录锁,
间隙锁
,
插入
意向锁
,临键锁兼容关系
mysql
锁
你在
MySQL
中
加了什么锁,导致死锁的?
其实基础好的友友们,一眼就能看出会发生死锁,不懂的友友们也不要气馁,听我细细分析; 实验的
MySQL
版本是 8.0.21,;
07_
插入
意向锁
插入
意向锁
是 InnoDB 存储引擎在处理行级锁定时使用的一种特殊类型的锁(特殊的
间隙锁
),主要用于管理
间隙锁
(Gap Lock)和行锁(Record Lock)之间的兼容性。它是一种优化机制,使得多个事务能够同时
插入
同一个间隙(Gap)
中
的不同位置,而不会彼此阻塞。
插入
意向锁
允许多个事务在同一个间隙
中
插入
不同位置的记录,从而提高并发性能。加锁流程包括查找
插入
位置、申请
插入
意向锁
、检查锁冲突以及执行
插入
操作。在同一个间隙
中
的
插入
意向锁
是兼容的,这意味着多个事务可以在同一个间隙
中
插入
记录而不会相互阻塞。
捋一捋什么是
MySQL
插入
意向锁
?
Insert Intention Lock,
中
文我们也称之为
插入
意向锁
。 这个可以算是对我们之前所讲的 Gap Lock 的一个补充,关于 Gap Lock,如果还有小伙伴不懂,可以参考前文。我们之前已经有 Gap Lock 了,Gap Lock 可以帮我们在一定程度上解决幻读问题,但是,之前的似乎有点问题。
字节二面被问到
mysql
事务与锁问题,我蚌埠住了
两个事务即使生成的
间隙锁
的范围是一样的,也不会发生冲突,因为
间隙锁
目的是为了防止其他事务
插入
数据,因此
间隙锁
与
间隙锁
之间是相互兼容的。在执行
插入
语句时,如果
插入
的记录在其他事务持有
间隙锁
范围内,
插入
语句就会被阻塞,因为
插入
语句在碰到
间隙锁
时,会生成一个
插入
意向锁
,然后
插入
意向锁
和
间隙锁
之间是互斥的关系。互斥、占有且等待、不可强占用、循环等待,因此发生了死锁。......
数据库
4,017
社区成员
39,805
社区内容
发帖
与我相关
我的任务
数据库
VC/MFC 数据库
复制链接
扫一扫
分享
社区描述
VC/MFC 数据库
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章