背景与问题在生产环境中收到一个接口耗时预警, 通过监控发现, 接口耗时达到了89s, 最终定位到了是因为触发了一个sql慢查询场景....因此基本可以断定确实就是mysql优化器在选择索引的时候出现和我们不符合预期的情况.3.2 尝试2 - 改变条件值将where中的三个查询条件值换成其他值, 看下会如何?...故可以断定mysql底层在选择索引的时候, 是一个动态调整的过程, 会基于数据分布情况进行动态选择(可能是最合适的也可能选择了很差性能的索引)3.3 尝试3 - 避免排序将排序字段去除, 也是可以避免慢查询...上述慢查询优化方案根据上述分析, 核心解决思路应该就是: sql中强制显式指定索引或者主动影响(干涉)mysql优化器的选择或者调整索引配置, 以达到解决慢sql效果....优化器选择索引原理mysql底层的查询架构如下, 其中在查询优化器阶段进行最终索引的确定.图片选择索引是MySQL优化器的工作。