關(guān)于MySQL中explain工具的使用
EXPLAIN 是 MySQL 提供的一種工具,用于分析查詢語(yǔ)句的執(zhí)行計(jì)劃,即查詢優(yōu)化器是如何決定執(zhí)行查詢語(yǔ)句的。EXPLAIN可以幫助我們分析查詢語(yǔ)句的性能瓶頸,找出問(wèn)題所在,進(jìn)而優(yōu)化查詢語(yǔ)句和數(shù)據(jù)庫(kù)結(jié)構(gòu)。
使用EXPLAIN非常簡(jiǎn)單,只需要在查詢語(yǔ)句前面加上EXPLAIN關(guān)鍵字即可,如下所示:
explain select * from articles where url='csdn.com'
輸出結(jié)果如下:(圖片太長(zhǎng),這里切分成 2 張,實(shí)際上是一張)
輸出結(jié)果詳解:
- id:既是查詢的標(biāo)識(shí)符,表示查詢中每個(gè)操作的唯一標(biāo)識(shí);也是執(zhí)行查詢的順序,越大優(yōu)先級(jí)越高。
- select_type:查詢類型,表示查詢的類型,如簡(jiǎn)單查詢、聯(lián)合查詢、子查詢等等。
- table:查詢涉及的表名。
- partitions:查詢涉及的分區(qū)名。
- type:訪問(wèn)類型,表示MySQL在表中查找所需行的方式,常用的有ALL、index、range、ref、eq_ref、const等等。
- possible_keys:可能使用的索引,表示查詢語(yǔ)句中可能會(huì)使用到的索引。
- key:實(shí)際使用的索引,可以查看本次查詢是否用到了索引。
- key_len:索引使用的字節(jié)數(shù)。
- ref:列與索引的比較條件。
- rows:掃描的行數(shù),表示MySQL執(zhí)行查詢語(yǔ)句時(shí)需要掃描的行數(shù),這個(gè)值越小越好。
- filtered:返回結(jié)果集的行數(shù)占掃描行數(shù)的百分比,值范圍在0~100之間。
- Extra:包含MySQL在執(zhí)行查詢時(shí)的一些額外信息,如使用臨時(shí)表、排序方式等等。
通過(guò)分析EXPLAIN的輸出結(jié)果,我們可以確定查詢語(yǔ)句的執(zhí)行計(jì)劃、執(zhí)行效率和可能存在的問(wèn)題,從而進(jìn)行優(yōu)化。
到此這篇關(guān)于關(guān)于MySQL中explain工具的使用的文章就介紹到這了,更多相關(guān)MySQLexplain工具內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
MYSQL使用inner join 進(jìn)行 查詢/刪除/修改示例
本文為大家介紹下使用inner join 進(jìn)行查詢/刪除/修改,具體實(shí)現(xiàn)如下,學(xué)習(xí)mysql的朋也可以學(xué)習(xí)下,希望對(duì)大家有所幫助2013-07-07檢查mysql是否成功啟動(dòng)的方法(bat+bash)
這篇文章主要介紹了檢查mysql是否成功啟動(dòng)的方法(bat+bash),如果mysql沒(méi)有啟動(dòng)則開(kāi)啟服務(wù),需要的朋友可以參考下2016-06-06MYSQL使用正則表達(dá)式過(guò)濾數(shù)據(jù)
這篇文章主要介紹了MYSQL使用正則表達(dá)式過(guò)濾數(shù)據(jù)的相關(guān)資料,感興趣的小伙伴們可以參考一下2016-05-05MySQL多版本并發(fā)控制MVCC深入學(xué)習(xí)
這篇文章主要介紹了MySQL多版本并發(fā)控制MVCC,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2021-11-11MySQL數(shù)據(jù)庫(kù)中如何查詢近一年的數(shù)據(jù)
最近碰到一個(gè)需求是統(tǒng)計(jì)某張表的數(shù)據(jù),統(tǒng)計(jì)時(shí)間維度為近一年,下面這篇文章主要給大家介紹了關(guān)于MySQL數(shù)據(jù)庫(kù)中如何查詢近一年的數(shù)據(jù)的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-07-07