在InnoDB中,执行“SELECT ... WHERE student_id=1 FOR UPDATE”(student_id上有索引,隔离级别为默认的REPEATABLE READ)时,数据库会加哪些锁?请解释加锁过程。
考察说明
考察InnoDB行锁、间隙锁及索引条件下加锁的理解
回答思路
- 指出会使用索引定位记录并加排他行锁
- 说明在REPEATABLE READ下会加间隙锁或临键锁防止幻读
- 区分单值等值匹配和非唯一索引等值匹配的锁范围
- 能够结合当前读(FOR UPDATE)说明加锁语义
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。