查詢優化之EXPLAIN的使用分析

2022-09-28 05:36:09 字數 988 閱讀 1848

不同的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...