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