不同的sql語句寫法,往往會帶來很大的效能差異,我們怎麼才能知道執行sql查詢開銷呢?mysql為我們提供了explain關鍵詞,在你的select語句前加上explain關鍵詞,mysql將解釋它是如何處理的select查詢,提供有關表如何聯接和聯接的次序,所掃瞄的記錄數等相關資訊,你可以憑藉這些資訊,來優化你的sql查詢。
explain se程式設計客棧lect id, username from userinfo where user程式設計客棧name like '%peng%';
我們在查詢語句前加上了explain關鍵詞,那麼我們可以得到如下的報告。
複製** **如下:
id: 1
select_type: ******
table: userinfo
type: all
possible_keys: null
key: null
key_len: null
rel: null
rows: 6
extra: using where
大概解釋下每乙個資料項的含義:
id:select識別符,select的查詢序列號;
s程式設計客棧elect_type:select型別,可以是******(簡單查詢)、primary(最外面的select)等;
table:用到的表
type:聯接型別
possible_mbkygdhkeys:可用索引列
key:實際用到的索引列
key_len:鍵長度
rel:使用哪個列或常數與key一起從表中選擇行
rows:檢查的行數
extra:該列包含mysql解決查詢的詳細資訊
更具體的解釋請查閱mysql手冊,在這裡,把手冊的內容再抄一遍並沒有什麼意義,當你有了這些參考資料後,就能更準確的完成mysql查詢優化了。
本文標題: 查詢優化之explain的使用分析
本文位址: /shujuku/mysql/96136.html
SQL 優化 explain 的使用
通過關鍵字 explain 可以分析出 1.表的讀取順序 2.表的讀取操作的讀取型別 3.哪些索引有可能會被使用到 4.哪些索引被實際使用了 5.表之間的引用 6.每張表有多少行被優化器查詢 每個欄位的含義 2.select type 查詢型別,是簡單查詢 子查詢 主鍵查詢等,具體型別如下 簡單的s...
MySQL查詢優化語句 explain
一 mysql 查詢優化器是如何工作的 mysql 查詢優化器有幾個目標,但是其中最主要的目標是盡可能地使用索引,並且使用最嚴格的索引來消除盡可能多的資料行。最終目標是提交 select 語句查詢資料行,而不是排除資料行。優化器試圖排除資料行的原因在於它排除資料行的速度越快,那麼找到與條件匹配的資料...
查詢優化神器 explain命令
關於explain命令相信大家並不陌生,具體用法和字段含義可以參考官網explain output,這裡需要強調rows是核心指標,絕大部分rows小的語句執行一定很快。所以優化語句基本上都是在優化rows。1.慢查詢優化基本步驟 1.先執行看看是否真的很慢,注意設定sql no cache 2.w...