首頁  >  文章  >  資料庫  >  MYSQL sql語句優化的詳解

MYSQL sql語句優化的詳解

黄舟
黄舟原創
2017-02-28 13:12:001687瀏覽

        在sql裡面有許多最佳化技巧,有時候能夠實現相同功能的兩段sql語句,查詢效能卻不相同,因此掌握一些高效率的sql程式碼還是有必要的。

      一、查詢最佳化

          1. 減少記錄集數,避免使用)lect * 

#          2. 使用exist代替in,例如:Select sno from stu where exist(select * from grand where sno=stu.sno)

## ##      3. ;=而不是>,加等於後比較直接鎖定最小或最大值,只寫>, 則資料庫會逐行比較。

          4. 使用索引,但不要在索引上計算,當遇到or時索引失效,使用union代替or

         5 . 只查詢一條資料的時候使用limit 1這樣會使搜尋到資料後繼續搜尋

         6. 避免使用rand(),當查詢資料想要亂序的時候,先生可以變成隨機數字: 

                   select userName from user limit $rand,1;

         7.查詢join 想要使用小結果集驅動的結果集

      盡  8.

##      盡  8. 盡  8.可能少使用子查詢,子查詢的過程會在內查詢中先建立臨時表,查詢完成後刪除臨時表

     二、  從建庫角度分析資料庫最佳化策略

         1.最佳化資料庫結構,將資料庫欄位多的表格層級分割多個資料表

##         2.  資料插入前停用索引後開啟:

 ALTER TABLE table_name DISABLE KEYS ;
                  ALTER TABLE table_name ENABLE KEYS ;

         3. 使用批次插入語句:能使用LOAD DATA INFILE 語句就盡量使用,不能使用可以選擇:

ALTER TABLE table_name ENABLE KEYS ;



######################################################################################################## ###### 以上就是MYSQL sql語句優化的詳解的內容,更多相關內容請關注PHP中文網(www.php.cn)! ######################### ###
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn