在业务系统中,除了使⽤
主键
进⾏的查询,其他的都会在
测试库上测试其耗时
,慢查询的统计主要由运维在做,会定期将业务中的慢查询反馈给我们。
慢查询的优化⾸先要搞明⽩慢的原因是什么?是查询条件没有
命中索引
?是load了不需要的数据列?还是数据量太⼤?
所以优化也是针对这三个⽅向来的:
-
⾸先分析语句,看看是否
load了额外的数据
,可能是查询了多余的⾏并且抛弃掉了,可能是加载了许多结果中并不需要的列,对语句进⾏
分析以及重写
。
-
分析语句的执⾏计划,然后获得其使⽤索引的情况,之后修改语句或者修改索引,使得语句可以尽可能的
命中索引
。
-
如果对语句的优化已经⽆法进⾏,可以考虑表中的数据量是否太⼤,如果是的话可以
进⾏横向或者纵向的分表。
