星海

数据库 · 单选题 · 第 40 题

计算机基础面试八股 · 第 40 题

在可重复读级别下,InnoDB 防止当前读(如 SELECT … FOR UPDATE)出现幻读,主要靠?

  1. A对整张表加表级共享读锁
  2. BAUTO-INC 自增锁(表级)
  3. C临键锁(记录锁 + 间隙锁)
  4. D单独使用表级意向锁

答案

C C. 临键锁(记录锁 + 间隙锁)

解析

临键锁同时锁住记录本身和它前面的间隙,其他事务无法在范围内插入新行,当前读也就不会读到「幻影」行。快照读的幻读则由 MVCC 处理。意向锁只是表级标记,用来快速判断表里有没有行锁,本身不阻止插入。

在线刷这套题:即时判分、错题本、闪卡复习,不用登录就能练。