使用方法,在select語句前加上explain就可以了:
如:explain select * from test1
explain列的解釋:
table:顯示這一行的資料是關於哪張表的
type:這是重要的列,顯示連線使用了何種型別。從最好到最差的連線型別為const、eq_reg、ref、range、index和all
const:表中的乙個記錄的最大值能夠匹配這個查詢(索引可以是主鍵或惟一索引)。因為只有一行,這個值實際就是常數,因為mysql先讀這個值然後把它當做常數來對待
eq_ref:在連線中,mysql在查詢時,從前面的表中,對每乙個記錄的聯合都從表中讀取乙個記錄,它在查詢使用了索引為主鍵或惟一鍵的全部時使用
ref:這個連線型別只有在查詢使用了不是惟一或主鍵的鍵或者是這些型別的部分(比如,利用最左邊字首)時發生。對於之前的表的每乙個行聯合,全部記錄都將從表中讀出。這個型別嚴重依賴於根據索引匹配的記錄多少—越少越好
range:這個連線型別使用索引返回乙個範圍中的行,比如使用》或《查詢東西時發生的情況
index: 這個連線型別對前面的表中的每乙個記錄聯合進行完全掃瞄(比all更好,因為索引一般小於表資料)
all:這個連線型別對於前面的每乙個記錄聯合進行完全掃瞄,這一般比較糟糕,應該盡量避免。
MySql Explain執行計畫
explain執行計畫 例 explain select from user idselect type table partitions type possible keys keykey len refrows filtered extra id 查詢序列號,表示查詢中執行select子句或操作...
MySQL Explain 執行計畫
執行計畫就是sql的執行查詢的順序,以及如何使用索引查詢,返回的結果集行數,可以根據執行計畫結果結合業務對現有sql進行優化 explain 查詢結果有10列,分別表示的含義是 是乙個有序的編號,是查詢的順序號,有幾個select就顯示幾行,id的順序是按照select出現的順序增長的,id列的值越...
MYSQL explain 執行計畫
使用方法,在select語句前加上explain就可以了 如 explain sepmatyfayznlect from test1 explain列的解釋 table 顯示這一行的資料是關於哪張表的 type 這是重要的列,顯示連線使用程式設計客棧了何種型別。從最好到最差的連線型別為const e...