EXPLAIN 選擇查詢
select 查詢前面的 Explain 顯示了查詢將如何執行。這樣,你可以檢視查詢是使用索引還是通過新增索引來優化查詢。
示例查詢:
explain select * from user join data on user.test = data.fk_user;
示例結果:
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE user index test test 5 (null) 1 Using where; Using index
1 SIMPLE data ref fk_user fk_user 5 user.test 1 (null)
在 type 上,你會看到是否使用了索引。在 possible_keys 列中,你可以看到執行計劃是否可以從不存在的索引中進行選擇。key 告訴你實際使用的索引。key_len 顯示一個索引項的大小(以位元組為單位)。該值越低,索引項就越適合相同的記憶體大小,就可以更快地處理它們。rows 顯示了查詢需要掃描的預期行數,越低越好。