GAP LOCK——间隙锁

本文深入解析MySQL数据库中InnoDB引擎的间隙锁机制,探讨其在数据插入与查询时的作用及为何会出现间隙锁。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是间隙锁?
这是mysql数据库中的一种锁,它会出现在如下场景中
我们向表中新增一条数据age=20,这条数据在本来是没有的,在insert还没有提交的时候去select * from tableA a where a.age>15 and a.age<25,这个时候就会触发间隙锁,我们必须等待insert提交后才能执行select语句

为什么会出现间隙锁?
在MySQL的innoDB引擎中,如果操作的是一个区间的数据,会锁住这个区间所有的记录,即使这个记录不存在,这个时候另一个会话去插入这个区间的数据,就必须等待上一个结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值