无标签
- 分类
- 数据库
- 难度
- 未设置
- 来源数
- 1
- 更新时间
- 2026/03/29 00:57
答案
在非唯一索引的情况下,删除一条存在的记录是有gap锁,锁住记录本身和记录之前的gap 在唯一索引和主键的情况下删除一条存在的记录,因为都是唯一值,进行删除的时候,是不会有gap存在 非唯一索引,唯一索引和主键在删除一条不存在的记录,均会在这个区间加gap锁 通过非唯一索引和唯一索引去删除一条标记为删除的记录的时候,都会请求该记录的行锁,同时锁住记录之前的gap RC 情况下是没有gap锁的,除了遇到唯一键冲突的情况,如插入唯一键冲突。
相关题目(5)
什么是热点 key,如何处理?共源 1
分布式系统Redis
watch dog 机制是什么?共源 1
分布式系统并发锁Redis
Redis 如何实现分布式锁?共源 1
分布式系统锁Redis
分布式系统并发Redis
元信息
审核状态: active
关联来源: 1
来源面经题(0)
这道题目前没有手动沉淀的面经题来源。
来源(1)
Java八股(数据库).md
knowledge_noteQuestion 50: 删除操作会加什么锁?
Source answer: 在非唯一索引的情况下,删除一条存在的记录是有gap锁,锁住记录本身和记录之前的gap 在唯一索引和主键的情况下删除一条存在的记录,因为都是唯一值,进行删除的时候,是不会有gap存在 非唯一索引,唯一索引和主键在删除一条不存在的记录,均会在这个区间加gap锁 通过非唯一索引和唯一索引去删除一条标记为删除的记录的时候,都会请求该记录的行锁,同时锁住记录之前的gap RC 情况下是没有gap锁的,除了遇到唯一键冲突的情况,如插入唯一键冲突。
Reviewed answer: 删除时加锁与索引类型有关。非唯一索引删除存在记录时会锁记录本身及前面的gap;唯一索引或主键删除存在记录时通常无gap锁;删除不存在记录时常在相应区间加gap锁;RC隔离级别下一般没有gap锁,但唯一键冲突等情况除外。