1. 程式人生 > >MYSQL——explain關鍵字

MYSQL——explain關鍵字

explain 關鍵字可以檢視SQL語句執行的情況
使用
explain + SQL 語句

引數值 含義
id 表示SELECT語句的編號
select_type 表示SELECT語句的型別該引數有幾個常用的取值
SIMPLE 表示簡單查詢,其中不包括連線查詢和子查詢
PRIMARY 表示主查詢,或者是最外層的查詢語句
UNION 表示連線查詢的第二個或後面的查詢語句
table 表示查詢的表
type 表示表的連線型別。該引數有幾個常用的取值
const 表示表中有多條記錄,但只從表中查詢一條記錄
eq_ref 表示多表連線時,後面的表使用了UNIQUE或者PRIMARY KEY
ref 表示多表查詢時,後面的表使用了普通索引
unique_ subquery 表示子查詢中使用了UNIQUE或者PRIMARY KEY
index_ subquery 表示子查詢中使用了普通索引
range 表示查詢語句中給出了查詢範圍
index 表示對錶中的索引進行了完整的掃描
all 表示此次查詢進行了全表掃描,該條SQL需要優化;
possible_keys 表示查詢中可能使用的索引。如果備選的數量大於3那說明已經太多了,因為太多會導致選擇索引而損耗效能, 所以建表時欄位最好精簡,同時也要建立聯合索引,避免無效的單列索引;
key 表示查詢使用到的索引
key_len 表示索引欄位的一長度;
ref 表示使用哪個列或常數與索引一起來查詢記錄;
rows 表示查詢的行數。試圖分析所有存在於累計結果集中的行數,雖然只是一個估值,卻也足以反映 出SQL執行所需要掃描的行數,因此這個值越小越好;
Extra 表示查詢過程的附件資訊。