查詢優(yōu)化之EXPLAIN的使用分析
不同的SQL語句寫法,往往會帶來很大的性能差異,我們怎么才能知道執(zhí)行SQL查詢開銷呢?MySQL為我們提供了EXPLAIN關(guān)鍵詞,在你的select語句前加上EXPLAIN關(guān)鍵詞,MySQL將解釋它是如何處理的SELECT查詢,提供有關(guān)表如何聯(lián)接和聯(lián)接的次序,所掃描的記錄數(shù)等相關(guān)信息,你可以憑借這些信息,來優(yōu)化你的SQL查詢。
EXPLAIN select id, username from userinfo where username like '%peng%';
我們在查詢語句前加上了EXPLAIN關(guān)鍵詞,那么我們可以得到如下的報告。
id: 1
select_type: SIMPLE
table: userinfo
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
rel: NULL
rows: 6
Extra: Using where
大概解釋下每一個數(shù)據(jù)項的含義:
id: SELECT識別符,SELECT的查詢序列號;
select_type: SELECT類型,可以是SIMPLE(簡單查詢)、PRIMARY(最外面的select)等;
table:用到的表
type: 聯(lián)接類型
possible_keys: 可用索引列
key: 實際用到的索引列
key_len: 鍵長度
rel: 使用哪個列或常數(shù)與key一起從表中選擇行
rows: 檢查的行數(shù)
Extra: 該列包含MySQL解決查詢的詳細信息
更具體的解釋請查閱MySQL手冊,在這里,把手冊的內(nèi)容再抄一遍并沒有什么意義,當你有了這些參考數(shù)據(jù)后,就能更準確的完成MySQL查詢優(yōu)化了。
相關(guān)文章
MySQL中LAST_INSERT_ID()函數(shù)的實現(xiàn)
本文主要介紹了MySQL中LAST_INSERT_ID()函數(shù)的作用和使用方法,LAST_INSERT_ID()函數(shù)用于返回上一次INSERT操作生成的自增ID,對于需要獲取新插入記錄的主鍵的場景非常重要,感興趣的可以了解一下2024-10-10
mysql 5.7 數(shù)據(jù)庫安裝步驟個人總結(jié)
這篇文章主要介紹了mysql 數(shù)據(jù)庫安裝步驟個人總結(jié),需要的朋友可以參考下2017-09-09
mysql8關(guān)閉binlog并清空Binlog的方法
這篇文章主要介紹了mysql8關(guān)閉binlog并清空Binlog,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-09-09
MySQL之使用UNION和UNION ALL合并兩個或多個SELECT語句的結(jié)果集
這篇文章主要介紹了MySQL之使用UNION和UNION ALL合并兩個或多個SELECT語句的結(jié)果集,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
centos7.2下安裝mysql5.7數(shù)據(jù)庫的命令詳解
這篇文章主要介紹了centos7.2下安裝mysql5.7數(shù)據(jù)庫,文中給出了所有的命令,按照命令執(zhí)行就會安裝上 ,需要的朋友可以參考下2019-07-07

