数据库系统工程师 · 高频练习

临键锁为什么说是记录锁和间隙锁的组合?

中级 单选题 第 702 题 中等 数据库系统工程师临键锁间隙锁幻读事务隔离
题目

某事务执行范围查询时,数据库既要锁住已经存在的索引记录,又要防止其他事务在相邻范围间隙中插入新记录,从而降低幻读风险。若一个锁同时覆盖记录本身和记录前后的范围间隙,较接近()。

A 临键锁
B 瀑布模型
C 数字签名
D 路由汇总
题目类型:原创高频练习题 用途:用于帮助理解数据库系统工程师相关考点和答案解析,不等同于官方真题。
正确答案
A
答案解析

临键锁通常可以理解为记录锁和间隙锁的组合,既锁住索引记录,也锁住相邻间隙,用于控制范围查询中的并发插入问题。题干强调既锁已有记录,又锁范围间隙,防止插入新记录,因此选临键锁。

选项分析

A

正确。临键锁覆盖记录及其相邻间隙,常用于范围查询并发控制。

B

错误。瀑布模型是软件生命周期模型,与数据库锁无关。

C

错误。数字签名用于身份、完整性和不可否认性验证。

D

错误。路由汇总属于网络路由规划问题。

本题为什么容易错

容易把临键锁和间隙锁说成完全一样。软考层面可以简化理解:间隙锁主要盯住能不能插入空隙;临键锁往往把记录本身和间隙一起控制。它们都和范围查询、幻读、事务隔离有关,但题干如果明确说“记录加间隙”,更应该选临键锁。

先看结论

简短答案

临键锁为什么说是记录锁和间隙锁的组合,正确答案是 A(临键锁)。临键锁通常可以理解为记录锁和间隙锁的组合,既锁住索引记录,也锁住相邻间隙,用于控制范围查询中的并发插入问题。题干强调既锁已有记录,又锁范围间隙,防止插入新记录,因此选临键锁。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
临键锁 本题正确答案 正确。临键锁覆盖记录及其相邻间隙,常用于范围查询并发控制。 看到题干核心场景时优先联想到它
瀑布模型 本题干扰项 错误。瀑布模型是软件生命周期模型,与数据库锁无关。 看到该词不要急着选,先判断是否真正解决题干问题
数字签名 本题干扰项 错误。数字签名用于身份、完整性和不可否认性验证。 看到该词不要急着选,先判断是否真正解决题干问题
路由汇总 本题干扰项 错误。路由汇总属于网络路由规划问题。 看到该词不要急着选,先判断是否真正解决题干问题
本题易混淆选项怎么区分
  • 瀑布模型:错误。瀑布模型是软件生命周期模型,与数据库锁无关。
  • 数字签名:错误。数字签名用于身份、完整性和不可否认性验证。
  • 路由汇总:错误。路由汇总属于网络路由规划问题。
复习

知识点详解

临键锁常见于范围查询和索引并发控制的讨论中。它的直观作用是:既不让别人随便改已经锁住的记录,也不让别人在相关范围里插入新记录。不同数据库产品和隔离级别的实现细节会不同,考试更关注概念用途:范围查询想稳定,就不能只看已有行,还要看行与行之间能否插入新行。比如查询 80 到 90 分之间的成绩,如果只锁住已经存在的 82、88 两条记录,别人仍可能插入 85 分的新记录;临键锁这类范围控制就是为了把这种“凭空多出一行”的风险管住。不过锁范围越大,并发能力也可能下降,所以它是正确性和并发性之间的取舍,不是越多越好。

备考速记

速记:记录锁管已有行,间隙锁管空位,临键锁把两边一起看。

事务隔离在事务隔离场景中的作用

事务隔离在本题中的核心价值,是解决“某事务执行范围查询时,数据库既要锁住已经存在的索引记录,又要防止其他事务在相邻范围间隙中插入新记录,从而降低幻读风险。若一个锁同时覆盖记录本身和记录前后的范围间隙,较接近()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出事务隔离场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查事务隔离的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把事务隔离和瀑布模型、数字签名、路由汇总放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
事务隔离在数据库系统工程师软考中的考法

软考选择题通常不会只考概念定义,还会把事务隔离放到事务隔离场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

这题先不要急着背数据库产品细节。题干已经把关键词给出来了:已有记录要锁,记录之间的空隙也要锁。只锁行,是记录锁;只强调空隙,是间隙锁;二者组合起来,就落到临键锁这个概念上。

考点定位

间隙锁更强调锁空隙,记录锁更强调锁已有记录;临键锁常被理解为记录加间隙,用于范围查询并发控制。

易错提醒

  • 把幻读理解成同一行数据被别人改了,实际幻读更关注范围结果多出或少掉行。
  • 只知道行锁,忽略范围查询还需要控制插入位置。
  • 把数据库并发控制题和密码学、网络协议题混在一起。

备考提示

  • 数据库并发异常按脏读、不可重复读、幻读三类先分清。
  • 锁机制可以按行锁、间隙锁、临键锁、表锁做边界记忆。
  • 如果正在用书木兰软考题库 https://www.shumulan.com/ 刷数据库题,可以把幻读相关错题单独归类复盘。

你可能还想了解

  • 临键锁为什么说是记录锁和间隙锁的组合?
  • 事务隔离是什么?
  • 事务隔离在数据库系统工程师考试中怎么考?
  • 数据库系统工程师事务隔离题怎么理解?
  • 临键锁和间隙锁区别怎么考?
  • 临键锁是什么怎么考?

本文小结

本题核心考点是事务隔离在事务隔离场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 A(临键锁)。