背景与问题在生产环境中收到一个接口耗时预警, 通过监控发现, 接口耗时达到了89s, 最终定位到了是因为触发了一个sql慢查询场景....问题分析与探索针对mysql慢查询问题, 离不开explain工具的使用. 3.1 尝试1 - force index我们先看下问题sql的执行计划,explain select * from dal_meta_table_par_info_d...因此基本可以断定确实就是mysql优化器在选择索引的时候出现和我们不符合预期的情况.3.2 尝试2 - 改变条件值将where中的三个查询条件值换成其他值, 看下会如何?...具体如下4.1 强制索引在查询语句里增加force index (index_name)的指定,但是这种做法需侵入代码进行硬编码, 而且后续难以维护, 比如改了索引名后会出现sql异常....优化器选择索引原理mysql底层的查询架构如下, 其中在查询优化器阶段进行最终索引的确定.图片选择索引是MySQL优化器的工作。