mysql执行计划干预(ignore index)

    如下是缺陷列表SQL关键部分截图,从实际的执行来看,优化器选择了索引ix_alarm_raised_time,而非具有选择性的org_code字段的索引,显然执行计划不是理想的。

    通过干预手段(ignore index ),让优化器做出正确的选择,修改后的SQL性能由原来的3秒下降到0.32秒

如下是优化后SQL(干预手段)及执行计划、执行时间。

总结

当一个表上,有多个索引时,MySQL优化器可能没有充分利用上想要的索引,而是选择了别的索引,导致执行响应时间变长、资源消耗更多,针对于这种情况,解决方法之一,就是通过手动干预(ignore index),明确指出不需要的索引选择, 让MySQL优化器作出正确选择,以达到提高、改善性能的目的。

猜你喜欢

转载自blog.csdn.net/skillfulit/article/details/82592044