使用explain關鍵字可以模擬優化器執行sql查詢語句,從而知道mysql是如何處理你的sql語句的。分析你的查詢語句或是表結構的效能瓶頸。 通過explain我們可以獲得以下資訊:
使用方法:explain + sql語句。 包含的字段如下
type所顯示的是查詢使用了哪種型別,type包含的型別包括如下圖所示的幾種,從好到差依次是
system > const > eq_ref > ref > range > index > all
表示索引中使用的位元組數,可通過該列計算查詢中使用的索引的長度,在不損失精確性的情況下,長度越短越好
。
根據表統計資訊及索引選用情況,大致估算出找到所需的記錄所需要讀取的行數,也就是說,用的越少越好
說明mysql會對資料使用乙個外部的索引排序,而不是按照表內的索引順序進行讀取。mysql中無法利用索引完成的排序操作稱為「檔案排序」。
使用了用臨時表儲存中間結果,mysql在對查詢結果排序時使用臨時表。常見於排序order by和分組查詢group by。
表示相應的select操作中使用了覆蓋索引(covering index),避免訪問了表的資料行,效率不錯。如果同時出現using where,表明索引被用來執行索引鍵值的查詢;如果沒有同時出現using where,表明索引用來讀取資料而非執行查詢動作。
表明使用了連線快取,比如說在查詢的時候,多表join的次數非常多,那麼將配置檔案中的緩衝區的join buffer調大一些。
EXPLAIN用法和結果分析
使用explain關鍵字可以模擬優化器執行sql查詢語句,從而知道mysql是如何處理你的sql語句的。分析你的查詢語句或是表結構的效能瓶頸。通過explain,我們可以分析出以下結果 使用方式如下 explain sql語句 explain select from t1 執行計畫包含的資訊 sel...
EXPLAIN用法和結果分析
使用explain關鍵字可以模擬優化器執行sql查詢語句,從而知道mysql是如何處理你的sql語句的。分析你的查詢語句或是表結構的效能瓶頸。通過explain,我們可以分析出以下結果 使用方式如下 explain sql語句 explain select from t1 執行計畫包含的資訊 sel...
explain關鍵字用法和結果分析
1.什麼是explain 使用explain關鍵字可以模擬優化器執行sql查詢語句,從而知道mysql是如何處理你的sql語句。分析你的查詢語句或是表結構的效能瓶頸。通過explain我們可以獲得以下資訊 首先我們來舉例執行一下看下結果 此處type不同,const 此處索引丟失,請見上篇文章 哪些...