設計SQL後,應使用explain命令檢查SQL,看是否使用到索引,是否存在filesort,重點檢查檢索的行數(rows)是否太大。 一般來說. 1.rows<1000,是在可接受的範圍內的。 2.rows在1000~1w之間,在密集訪問時可能導致性能問題,但如果不是太頻繁的訪問(頻率低於1分鐘一 ...
設計SQL後,應使用explain命令檢查SQL,看是否使用到索引,是否存在filesort,重點檢查檢索的行數(rows)是否太大。
一般來說.
1.rows<1000,是在可接受的範圍內的。
2.rows在1000~1w之間,在密集訪問時可能導致性能問題,但如果不是太頻繁的訪問(頻率低於1分鐘一次),又難再優化的話,可以接受,但需要註意觀察
3.rows大於1萬時,應慎重考慮SQL的設計,優化SQL,優化db,一般來說不允許頻繁運行(頻率低於1小時一次)。
4.rows達到10w級別時,堅決不能做為實時運行的SQL。但導數據場合除外,但導數據必須控制好時間,頻度。
5.explain SQL語句應該是日常開發中的習慣動作,有時explain出來的結果,可能會出於偏離設計的意料之外,所以
**強烈建議在設計SQL,尤其是稍微複雜的SQL時,一定要在測試環境甚至是實際環境上預先進行explain**