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
顯示了查詢需要掃描的預期行數,越低越好。