日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 芯聞號(hào) > 充電吧
[導(dǎo)讀]explain詳細(xì)說(shuō)明通過(guò)explain可以知道MySQL是如何處理語(yǔ)句,分析出查詢(xún)或是表結(jié)構(gòu)的性能瓶頸。通過(guò)expalin可以得到:1. 表的讀取順序2.表的讀取操作的操作類(lèi)型3.哪些索引可以使用4

explain詳細(xì)說(shuō)明

通過(guò)explain可以知道MySQL是如何處理語(yǔ)句,分析出查詢(xún)或是表結(jié)構(gòu)的性能瓶頸。通過(guò)expalin可以得到:

1. 表的讀取順序
2.表的讀取操作的操作類(lèi)型
3.哪些索引可以使用
4. 哪些索引被實(shí)際使用
5.表之間的引用
6.每張表有多少行被優(yōu)化器查詢(xún)

通過(guò)explain 【sql語(yǔ)句】能夠查看sql語(yǔ)句的各項(xiàng)性能,下面了解下各列名代表的含義:

Id:MySQL QueryOptimizer 選定的執(zhí)行計(jì)劃中查詢(xún)的序列號(hào)。表示查詢(xún)中執(zhí)行 select 子句或操作表的順序,

id 值越大優(yōu)先級(jí)越高,越先被執(zhí)行。id 相同,執(zhí)行順序由上至下。
Select_type一共有9中類(lèi)型,只介紹常用的4種:
SIMPLE: 簡(jiǎn)單的 select 查詢(xún),不使用 union 及子查詢(xún)
PRIMARY: 最外層的 select 查詢(xún)
UNION: UNION 中的第二個(gè)或隨后的 select 查詢(xún),不依賴(lài)于外部查詢(xún)的結(jié)果集
DERIVED: 用于 from 子句里有子查詢(xún)的情況。 mysql會(huì)遞歸執(zhí)行這些子查詢(xún), 把結(jié)果放在臨時(shí)表里。
Table:輸出行所引用的表
Type:從有到差的順序如下:
System-->const-->eq_ref-->ref-->ref_or_null-->index_merge-->unique_subquery-->index_subquery-->range-->index-->all.
各自的含義如下:
system: 表僅有一行(=系統(tǒng)表)。這是 const 連接類(lèi)型的一個(gè)特例。
const: const 用于用常數(shù)值比較 PRIMARY KEY 時(shí)。當(dāng) 查詢(xún)的表僅有一行時(shí),使用 System。
eq_ref: 從前面的表中,對(duì)每一個(gè)記錄的聯(lián)合都從表中讀取一個(gè)記錄,它在查詢(xún)使用了索引為主鍵或惟一鍵的全部時(shí)使用
ref: 連接不能基于關(guān)鍵字選擇單個(gè)行,可能查找 到多個(gè)符合條件的行。 叫做 ref 是因?yàn)樗饕?跟某個(gè)參考值相比較。

這個(gè)參考值或者是一 個(gè)常數(shù),或者是來(lái)自一個(gè)表里的多表查詢(xún)的 結(jié)果值。
ref_or_null: 如同 ref, 但是 MySQL 必須在初次查找的結(jié)果 里找出 null 條目,然后進(jìn)行二次查找。
index_merge: 說(shuō)明索引合并優(yōu)化被使用了。
unique_subquery: 在某些 IN 查詢(xún)中使用此種類(lèi)型,而不是常規(guī)的 ref:valueIN (SELECT primary_key FROM single_table WHERE some_expr)
index_subquery: 在 某 些 IN 查 詢(xún) 中 使 用 此 種 類(lèi) 型 , 與 unique_subquery 類(lèi)似,但是查詢(xún)的是非唯一 性索引
range: 只檢索給定范圍的行,使用一個(gè)索引來(lái)選擇 行。key 列顯示使用了哪個(gè)索引。

當(dāng)使用=、 <>、>、>=、<、<=、IS NULL、

從上述對(duì)列名進(jìn)行介紹,你對(duì)性能檢測(cè)結(jié)果有一個(gè)大概的了解了吧.其中type為all的地方,都是需要進(jìn)行優(yōu)化的地方.

在對(duì)sql語(yǔ)句的性能檢測(cè)最少也應(yīng)該到達(dá)range,這樣才可以忍受.

目前我的技術(shù)水平和項(xiàng)目要求,主要考慮type這列的優(yōu)化。既然檢測(cè)出來(lái)的結(jié)果有all ,那么就需要優(yōu)化,具體怎么優(yōu)化,請(qǐng)看我下期博客。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除( 郵箱:macysun@21ic.com )。
換一批
延伸閱讀
關(guān)閉