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

