(1) ******(簡單select,不使用union或子查詢等)
//union 操作符用於合併兩個或多個 select 語句的結果集
(2) primary(子查詢中最外層查詢,查詢中若包含任何複雜的子部分,最外層的select被標記為primary)
(3) union(union中的第二個或後面的select語句)
(4) dependent union(union中的第二個或後面的select語句,取決於外面的查詢)
(5) union result(union的結果,union語句中第二個select開始後面所有select)
(6) subquery(子查詢中的第乙個select,結果不依賴於外部查詢)
(7) dependent subquery(子查詢中的第乙個select,依賴於外部查詢)
(8) derived(派生表的select, from子句的子查詢)
(9) uncacheable subquery(乙個子查詢的結果不能被快取,必須重新評估外鏈結的第一行)
顯示該語句涉及的表
匹配的分割槽
表示mysql在表中找到所需行的方式,又稱「訪問型別」。
常用的型別有: all、index、range、 ref、eq_ref、const、system、null(從左到右,效能從差到好)
all:full table scan, mysql將遍歷全表以找到匹配的行
index: full index scan,index與all區別為index型別只遍歷索引樹
range:只檢索給定範圍的行,使用乙個索引來選擇行
ref: 表示上述表的連線匹配條件,即哪些列或常量被用於查詢索引列上的值
eq_ref: 類似ref,區別就在使用的索引是唯一索引,對於每個索引鍵值,表中只有一條記錄匹配,簡單來說,就是多表連線中使用primary key或者 unique key作為關聯條件
const、system: 當mysql對查詢某部分進行優化,並轉換為乙個常量時,使用這些型別訪問。如將主鍵置於where列表中,mysql就能將該查詢轉換為乙個常量,system是const型別的特例,當查詢的表只有一行的情況下,使用system
null: mysql在優化過程中分解語句,執行時甚至不用訪問表或索引,例如從乙個索引列裡選取最小值可以通過單獨索引查詢完成。
指出mysql能使用哪個索引在表中找到記錄,查詢涉及到的字段上若存在索引,則該索引將被列出,但不一定被查詢使用(該查詢可以利用的索引,如果沒有任何索引顯示null)
如果該列是null,則沒有相關的索引。在這種情況下,可以通過檢查where子句看是否它引用某些列或適合索引的列來提高你的查詢效能。如果是這樣,創造乙個適當的索引並且再次用explain檢查查詢
key列顯示mysql實際決定使用的鍵(索引),必然包含在possible_keys中
如果沒有選擇索引,鍵是null。
表示索引中使用的位元組數,可通過該列計算查詢中使用的索引的長度(key_len顯示的值為索引欄位的最大可能長度,並非實際使用長度,即key_len是根據表定義計算而得,不是通過表內檢索出的)
不損失精確性的情況下,長度越短越好
哪些庫表裡的字段或常量被用於查詢索引列上的值
估算出結果集行數,表示mysql根據表統計資訊及索引選用情況,估算的找到所需的記錄所需要讀取的行數• explain不考慮各種cache
• explain不能顯示mysql在執行查詢時所作的優化工作
• 部分統計資訊是估算的,並非精確值
• expalin只能解釋select操作,其他操作要重寫為select後檢視執行計畫
效能分析 explain
1.id 查詢中select子句或操作表的順序 id相同,執行順序由上到下 id不同,越大優先順序越高 2.select type 查詢型別,主要區別於普通查詢 聯合查詢 子查詢 複雜查詢 簡單的查詢 pimary 查詢中包含任何複雜的子部分,最外層標記為primary derived 在from中...
Mysql效能分析 Explain
一.explain是什麼 使用explain關鍵字可以模擬優化器執行sql查詢語句,從而知道mysql是 如何處理你的sql語句的。分析你的查詢語句或是表結構的效能瓶頸 二.explain作用 1 表的讀取順序 2 哪些索引可以使用 3 資料讀取操作的操作型別 4 哪些索引被實際使用 5 表之間的引...
MySQL效能分析及explain
mysql效能分析及explain用法的知識 1.使用explain語句去檢視分析結果 如explain select from test1 where id 1 會出現 id selecttype table type possible keys key key len ref rows extr...