星海

MySQL · 单选题 · 第 35 题

Java 后端开发面试 · 第 35 题

MySQL 5.6 引入的索引下推(ICP)是做什么的?

  1. A在存储引擎遍历索引时,就用索引里已有的列过滤条件,减少回表次数
  2. B把 WHERE 条件推到客户端执行,减轻数据库服务器的计算压力
  3. C把 ORDER BY 排序下推到存储引擎里执行,避免在 Server 层产生临时文件
  4. D把子查询自动改写成 JOIN,从而减少需要扫描的数据行数

答案

A A. 在存储引擎遍历索引时,就用索引里已有的列过滤条件,减少回表次数

解析

比如联合索引 (name, age) 上查询 name LIKE '张%' AND age = 20:没有 ICP 时,按 name 前缀匹配到的每一行都要回表,再由 Server 层判断 age;有 ICP 时,引擎层直接用索引里的 age 先过滤。EXPLAIN 的 Extra 显示 Using index condition。

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