MySQL 优化器会选择【最小、最精准、最高效】的索引 某表有二个索引一个是a,b,c三字段联合索引一个是a字段单独索引, where a 2 ; 会用到哪个索引为什么结论where a 2; 一定会走【a 字段单独索引】绝对不会走联合索引 (a,b,c)为什么面试官最想听的核心原理核心原因MySQL 优化器会选择【最小、最精准、最高效】的索引1. 索引体积对比单列索引 a只有a 一个字段索引树更小、数据更少、查询更快。联合索引 a,b,c包含abc 三个字段索引树更大、更重、IO 更高。2. MySQL 优化器选择规则查询只用到 a 字段时优化器会自动选索引更小、扫描更快、回表成本更低的 【单列索引 a】一句话能走小索引绝不走大索引用最通俗的比喻单列索引 a 一张小卡片只写了a联合索引 a,b,c 一张大表格写了a、b、c你只需要查 a肯定拿小卡片最快不会去翻大表格。面试满分口述直接背“当查询条件只有where a2时MySQL 会选择a 字段的单列索引。因为 MySQL 优化器遵循最优索引选择原则在满足查询需求的前提下优先选择字段更少、体积更小、查询效率更高的索引。单列索引 a 比联合索引 (a,b,c) 更小、更快所以会选中它。”超级总结一句话刻在脑子里只查 a → 用最小的索引单列a不用大而全的联合索引巩固 2 道必考题你一定能答对where a2 and b3→ 走哪个→联合索引 (a,b,c)因为用到 a、b单列索引不够where a2→ 走哪个→单列索引 a最小最优