后端岗位面试题更新 2026-08-05

如果A线程插入一条记录但未提交事务,B线程执行select for update会怎么样?

上海得物信息集团有限公司后端开发互联网/IT风险判断技术原理InnoDBMySQL

考察说明

考察数据库事务隔离级别、行锁与锁等待机制的理解

回答思路

  1. 正确区分select for update对已存在与未提交记录的影响
  2. 说明B线程是否会被阻塞,取决于数据是否已存在及索引情况
  3. 解释gap lock与next-key lock在范围查询下的作用
  4. 能结合隔离级别(如REPEATABLE READ)分析锁行为