在業務系統中,除了使用主鍵進行的查詢,其他的我都會在測試庫上測試其耗時,慢查詢的統計主要由運維在做,會定期 將業務中的慢查詢反饋給我們。
慢查詢的優化首先要搞明白慢的原因是什么?
是查詢條件沒有命中索引?是load了不需要的數據列?還是數據量太大? 所以優化也是針對這三個方向來的,
- 首先分析語句,看看是否load了額外的數據,可能是查詢了多余的行并且拋棄掉了,可能是加載了許多結果中并不 需要的列,對語句進行分析以及重寫。
- 分析語句的執行計劃,然后獲得其使用索引的情況,之后修改語句或者修改索引,使得語句可以盡可能的命中索引。
- 如果對語句的優化已經無法進行,可以考慮表中的數據量是否太大,如果是的話可以進行橫向或者縱向的分表。