假设表 innodb 中有一 SQL:select id, A from table where A = xxx,其中 id 为主键索引,A 为唯一索引。这条查询需要经过几次 IO(或访问多少次 B+ 树)?
考察说明
考察 InnoDB 唯一非主键索引的覆盖索引分析与 B+ 树访问次数计算
回答思路
- 指出 A 是唯一非主键索引,索引叶子存储主键值
- 说明查询字段只有 id 和 A,可被索引覆盖,无需回表
- 说明唯一索引查找 A 定位一行,再访问主键索引簇聚索引取 id,共两次逻辑 IO
- 说明 B+ 树高度等物理 IO 需具体分析,通常可认为一次逻辑 IO 对应一次树访问
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。