mysql數據庫 SQL查詢語句優化和一些注意

1、mysql不支持top,它是採用limit來實現這一功能的;

2、當sql語句中含有in、like、exists時索引不起作用,開始變爲全表查詢;

3、語句中的in和exists這樣的條件能用子查詢就用子查詢,這樣性能會提升不少,當然用關聯查詢更好;

4、當遇到union這樣的聯合查詢時,要想提高性能,可以採用將每一個子查詢單獨開一個線程的方式來替代實現;

5、有時候將一個sql語句分拆成幾個小sql,並建臨時表,分步查詢會對性能提升有很大幫助,最近這個項目在sql沒有拆分之前耗時大於270秒,將其拆分幾個子語句分步查詢,並建立臨時表後,耗時降到25秒左右;

6、建索引不是越多越好,但是到底看所建的索引有無用處,我們可以同explain sql語句來查看,當某字段建了索引後它的查詢類型還是ALL,說明該索引無效。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章