值 | 含義 |
---|---|
SIMPLE | 不包含子查詢或是UNION操作的查詢 |
PRIMARY | 查詢中如果包含任何子查詢,那么最外層的查詢則被標(biāo)記為PRIMARY |
SUBQUERY | SELECT 列表中的子查詢 |
DEPENDENT SUBQUERY | 依賴外部結(jié)果的子查詢 |
UNION | Union操作的第二個(gè)或是之后的查詢的值為union |
DEPENDENT UNION | 當(dāng)UNION作為子查詢時(shí),第二或是第二個(gè)后的查詢的select_type值 |
UNION RESULT | UNION產(chǎn)生的結(jié)果集 |
DERIVED | 出現(xiàn)在FROM子句中的子查詢 |
3. TABLE列
包含以下幾種結(jié)果:
輸出去數(shù)據(jù)行所在表的名稱,如果表取了別名,則顯示的是別名
union M,N>: 由ID為M,N查詢union產(chǎn)生的結(jié)果集
derived N>/subquery N> :由ID為N的查詢產(chǎn)生的結(jié)果
4. PARTITIONS列:
查詢匹配的記錄來(lái)自哪一個(gè)分區(qū)
對(duì)于分區(qū)表,顯示查詢的分區(qū)ID
對(duì)于非分區(qū)表,顯示為NULL
5. TYPE列
按性能從高至低排列如下:
值 | 含義 |
---|---|
system | 這是const聯(lián)接類型的一個(gè)特例,當(dāng)查詢的表只有一行時(shí)使用 |
const | 表中有且只有一個(gè)匹配的行時(shí)使用,如對(duì)主鍵或是唯一索引的查詢,這是效率最高的聯(lián)接方式 |
eq_ref | 唯一索引或主鍵索引查詢,對(duì)應(yīng)每個(gè)索引鍵,表中只有一條記錄與之匹配 |
ref | 非唯一索引查找,返回匹配某個(gè)單獨(dú)值的所有行 |
ref_or_null | 類似于ref類型的查詢,但是附加了對(duì)NULL值列的查詢 |
index_merge | 該聯(lián)接類型表示使用了索引合并優(yōu)化方法 |
range | 索引范圍掃描,常見于between、>、這樣的查詢條件 |
index | FULL index Scan 全索引掃描,同ALL的區(qū)別是,遍歷的是索引樹 |
ALL | FULL TABLE Scan 全表掃描,這是效率最差的聯(lián)接方式 |
6. Extra列
包含MySQL如何執(zhí)行查詢的附加信息
值 | 含義 |
---|---|
Distinct | 優(yōu)化distinct操作,在找到第一個(gè)匹配的元素后即停止查找 |
Not exists | 使用not exists來(lái)優(yōu)化查詢 |
Using filesort | 使用額外操作進(jìn)行排序,通常會(huì)出現(xiàn)在order by或group by查詢中 |
Using index | 使用了覆蓋索引進(jìn)行查詢 |
Using temporary | MySQL需要使用臨時(shí)表來(lái)處理查詢,常見于排序,子查詢,和分組查詢 |
Using where | 需要在MySQL服務(wù)器層使用WHERE條件來(lái)過(guò)濾數(shù)據(jù) |
select tables optimized away | 直接通過(guò)索引來(lái)獲得數(shù)據(jù),不用訪問(wèn)表,這種情況通常效率是最高的 |
7. POSSIBLE_KEYS列
指出MySQL能使用哪些索引來(lái)優(yōu)化查詢
查詢列所涉及到的列上的索引都會(huì)被列出,但不一定會(huì)被使用
8. KEY列
查詢優(yōu)化器優(yōu)化查詢實(shí)際所使用的索引
如果表中沒有可用的索引,則顯示為NULL
如果查詢使用了覆蓋索引,則該索引僅出現(xiàn)在Key列中
9. KEY_LEN列
顯示MySQL索引所使用的字節(jié)數(shù),在聯(lián)合索引中如果有3列,假如3列字段總長(zhǎng)度為100個(gè)字節(jié),Key_len顯示的可能會(huì)小于100字節(jié),比如30字節(jié),這就說(shuō)明在查詢過(guò)程中沒有使用到聯(lián)合索引的所有列,只是利用到了前面的一列或2列
10. Ref列
表示當(dāng)前表在利用Key列記錄中的索引進(jìn)行查詢時(shí)所用到的列或常量
11. rows列
12. Filtered列
三. 執(zhí)行計(jì)劃的限制
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
標(biāo)簽:拉薩 吐魯番 嘉峪關(guān) 洛陽(yáng) 葫蘆島 甘南 安徽
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《MySQL執(zhí)行計(jì)劃的深入分析》,本文關(guān)鍵詞 MySQL,執(zhí)行,計(jì)劃,的,深入分析,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。