1. 程式人生 > >MySQL進階(七)MySQL優化思路

MySQL進階(七)MySQL優化思路

優化思路

(1)看錶的資料型別是否設定合理,有沒有遵循選取資料型別越簡單越小的原則

(2)表中的碎片是否整理

(3)表的統計資訊是否收集,只有統計資訊準確,執行計劃才可以幫助我們優化SQL

(4)檢視執行計劃,檢查索引使用情況,沒有使用索引,考慮建立

(5)建立索引之前,檢視索引的選擇性,來判斷這個欄位是否適合建立索引,索引的選擇性越高查詢效率越高,因為選擇性高的索引可以讓MySQL在查詢的時候過濾掉更多的行。主鍵索引和唯一索引的選擇性是1,這是最好的索引選擇性

(6)建立好索引之後,對比兩次的結果,看是否查詢效率提高了

說明:合理建立索引的三個"經常"(1)經常被查詢的列(一般放在where條件後面)(2)經常用於表連線的列(3)經常排序分組的列(order by或者group by後面的欄位)


檢視執行計劃的小技巧

(1)檢視type列,如果出現all關鍵字,後面的內容就不用看了,代表全表掃描

(2)檢視key列,看是否使用了索引,null代表沒有使用索引

(3)檢視rows列,表示執行過程中被掃描的行數

(4)檢視extra,觀察是否有using filesort或者using temporary,這些很影響資料庫效能

(5)檢視 filtered列,它指返回結果中的行佔需要讀到的行的百分比