查詢優化之EXPLAIN的應用剖析。本站提示廣大學習愛好者:(查詢優化之EXPLAIN的應用剖析)文章只能為提供參考,不一定能成為您想要的結果。以下是查詢優化之EXPLAIN的應用剖析正文
分歧的SQL語句寫法,常常會帶來很年夜的機能差別,我們怎樣能力曉得履行SQL查詢開支呢?MySQL為我們供給了EXPLAIN症結詞,在你的select語句前加上EXPLAIN症結詞,MySQL將說明它是若何處置的SELECT查詢,供給有關表若何聯接和聯接的順序,所掃描的記載數等相干信息,你可以憑仗這些信息,來優化你的SQL查詢。
EXPLAIN select id, username from userinfo where username like '%peng%';
我們在查詢語句前加上了EXPLAIN症結詞,那末我們可以獲得以下的申報。
id: 1
select_type: SIMPLE
table: userinfo
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
rel: NULL
rows: 6
Extra: Using where
年夜概說明下每個數據項的寄義:
id: SELECT辨認符,SELECT的查詢序列號;
select_type: SELECT類型,可所以SIMPLE(簡略查詢)、PRIMARY(最裡面的select)等;
table:用到的表
type: 聯接類型
possible_keys: 可用索引列
key: 現實用到的索引列
key_len: 鍵長度
rel: 應用哪一個列或常數與key一路從表當選擇行
rows: 檢討的行數
Extra: 該列包括MySQL處理查詢的具體信息
更詳細的說明請查閱MySQL手冊,在這裡,把手冊的內容再抄一遍並沒有甚麼意義,當你有了這些參考數據後,就可以更精確的完成MySQL查詢優化了。