最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

詳解Mysql中explain執(zhí)行計(jì)劃信息中字段

 更新時(shí)間:2023年08月31日 08:40:19   作者:*鄭*  
Extra是EXPLAIN輸出中另外一個(gè)很重要的列,該列顯示MySQL在查詢過程中的一些詳細(xì)信息,MySQL查詢優(yōu)化器執(zhí)行查詢的過程中對(duì)查詢計(jì)劃的重要補(bǔ)充信息,這篇文章主要介紹了Mysql中explain執(zhí)行計(jì)劃信息中字段詳解,需要的朋友可以參考下

Mysql中explain執(zhí)行計(jì)劃信息中字段詳解 

1. 獲取執(zhí)行計(jì)劃

explain select * from t5;
--或
desc select * from t5;

在這里插入圖片描述

2. 字段含義

2.1 id

每個(gè)select子句的執(zhí)行順序,相同從上到下,不同由大到小執(zhí)行

2.2 select_type

select語句類型

  • SIMPLE 簡(jiǎn)單的select查詢,查詢中不包含子查詢或者UNION
  • PRIMARY 查詢中若包含任何復(fù)雜的子部分,最外層查詢則被標(biāo)記為PRIMARY
  • SUBQUERY 在SELECT或WHERE列表中包含了子查詢
  • DERIVED 在FROM列表中包含的子查詢被標(biāo)記為DERIVED(衍生),MySQL會(huì)遞歸執(zhí)行這些子查詢,把結(jié)果放在臨時(shí)表中
  • UNION 若第二個(gè)SELECT出現(xiàn)在UNION之后,則被標(biāo)記為UNION:若UNION包含在FROM子句的子查詢中,外層SELECT將被標(biāo)記為:DERIVED
  • UNION RESULT 從UNION表獲取結(jié)果的SELECT

2.3 table

當(dāng)前執(zhí)行的表名

2.4 partitions

顯示當(dāng)前訪問的分區(qū)

2.5 type

查詢使用了哪種類型

#由好到差依次是
system > const > eq_ref > ref > range > index > all
  • system 表只有一行記錄
  • const 表示通過索引一次找到,const用于比較primary key 或者unique索引
  • eq_ref 唯一性索引掃描,使用唯一性索引或主鍵查找時(shí)會(huì)發(fā)生
  • ref 索引掃描,它返回所有匹配某個(gè)單個(gè)值的行。此類索引訪問只有當(dāng)使用非唯一性索引或唯一性索引非唯一性前綴時(shí)才會(huì)發(fā)生
  • range 范圍掃描索,它返回所有匹配某個(gè)單個(gè)值的行。此類索引訪問只有當(dāng)使用非唯一性索引或唯一性索引非唯一性前綴時(shí)才會(huì)發(fā)生
  • index 和全表掃描一樣。只是掃描表的時(shí)候按照索引次序進(jìn)行而不是行。主要優(yōu)點(diǎn)就是避免了排序, 但是開銷仍然非常大。如在Extra列看到Using index,說明正在使用覆蓋索引,只掃描索引的數(shù)據(jù),它比按索引次序全表掃描的開銷要小很多
  • all 全表掃描

2.6 possible_keys

顯示查詢使用了哪些索引,表示該索引可以進(jìn)行高效地查找

2.7 key

key列顯示MySQL實(shí)際決定使用的鍵(索引)。如果沒有選擇索引,鍵是NULL。要想強(qiáng)制MySQL使用或忽視possible_keys列中的索引,在查詢中使用FORCE INDEX、USE INDEX或者IGNORE INDEX

2.8 ley_len

key_len列顯示MySQL決定使用的鍵長(zhǎng)度。如果鍵是NULL,則長(zhǎng)度為NULL。使用的索引的長(zhǎng)度。在不損失精確性的情況下,長(zhǎng)度越短越好

2.9 ref

顯示使用哪個(gè)列或常數(shù)與key一起從表中選擇行

2.10 rows

rows列顯示MySQL認(rèn)為它執(zhí)行查詢時(shí)必須檢查的行數(shù)。注意這是一個(gè)預(yù)估值

2.11 extra

Extra是EXPLAIN輸出中另外一個(gè)很重要的列,該列顯示MySQL在查詢過程中的一些詳細(xì)信息,MySQL查詢優(yōu)化器執(zhí)行查詢的過程中對(duì)查詢計(jì)劃的重要補(bǔ)充信息。

類型說明
Using filesortMySQL有兩種方式可以生成有序的結(jié)果,通過排序操作或者使用索引,當(dāng)Extra中出現(xiàn)了Using filesort 說明MySQL使用了后者,但注意雖然叫filesort但并不是說明就是用了文件來進(jìn)行排序,只要可能排序都是在內(nèi)存里完成的。大部分情況下利用索引排序更快,所以一般這時(shí)也要考慮優(yōu)化查詢了。使用文件完成排序操作,這是可能是ordery by,group by語句的結(jié)果,這可能是一個(gè)CPU密集型的過程,可以通過選擇合適的索引來改進(jìn)性能,用索引來為查詢結(jié)果排序。
Using temporary用臨時(shí)表保存中間結(jié)果,常用于GROUP BY 和 ORDER BY操作中,一般看到它說明查詢需要優(yōu)化了,就算避免不了臨時(shí)表的使用也要盡量避免硬盤臨時(shí)表的使用。
Not existsMYSQL優(yōu)化了LEFT JOIN,一旦它找到了匹配LEFT JOIN標(biāo)準(zhǔn)的行, 就不再搜索了。
Using index說明查詢是覆蓋了索引的,不需要讀取數(shù)據(jù)文件,從索引樹(索引文件)中即可獲得信息。如果同時(shí)出現(xiàn)using where,表明索引被用來執(zhí)行索引鍵值的查找,沒有using where,表明索引用來讀取數(shù)據(jù)而非執(zhí)行查找動(dòng)作。這是MySQL服務(wù)層完成的,但無需再回表查詢記錄。
Using index condition這是MySQL 5.6出來的新特性,叫做“索引條件推送”。簡(jiǎn)單說一點(diǎn)就是MySQL原來在索引上是不能執(zhí)行如like這樣的操作的,但是現(xiàn)在可以了,這樣減少了不必要的IO操作,但是只能用在二級(jí)索引上。
Using where使用了WHERE從句來限制哪些行將與下一張表匹配或者是返回給用戶。注意:Extra列出現(xiàn)Using where表示MySQL服務(wù)器將存儲(chǔ)引擎返回服務(wù)層以后再應(yīng)用WHERE條件過濾。
Using join buffer使用了連接緩存:Block Nested Loop,連接算法是塊嵌套循環(huán)連接;Batched Key Access,連接算法是批量索引連接
impossible wherewhere子句的值總是false,不能用來獲取任何元組
select tables optimized away在沒有GROUP BY子句的情況下,基于索引優(yōu)化MIN/MAX操作,或者對(duì)于MyISAM存儲(chǔ)引擎優(yōu)化COUNT(*)操作,不必等到執(zhí)行階段再進(jìn)行計(jì)算,查詢執(zhí)行計(jì)劃生成的階段即完成優(yōu)化。
distinct優(yōu)化distinct操作,在找到第一匹配的元組后即停止找同樣值的動(dòng)作

到此這篇關(guān)于Mysql中explain執(zhí)行計(jì)劃信息中字段詳解的文章就介紹到這了,更多相關(guān)Mysql explain執(zhí)行計(jì)劃內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL悲觀鎖與樂觀鎖的實(shí)現(xiàn)方案

    MySQL悲觀鎖與樂觀鎖的實(shí)現(xiàn)方案

    我們知道Mysql并發(fā)事務(wù)會(huì)引起更新丟失問題,解決辦法是鎖,所以本文將對(duì)鎖(樂觀鎖、悲觀鎖)進(jìn)行分析,這篇文章主要給大家介紹了關(guān)于MySQL悲觀鎖與樂觀鎖方案的相關(guān)資料,需要的朋友可以參考下
    2021-11-11
  • MySQL各種 JOIN 的特點(diǎn)及應(yīng)用場(chǎng)景分析

    MySQL各種 JOIN 的特點(diǎn)及應(yīng)用場(chǎng)景分析

    MySQL中的JOIN操作用于將多個(gè)表中的數(shù)據(jù)關(guān)聯(lián)起來,常見的JOIN 類型包括INNER JOIN、LEFT JOIN、RIGHT JOIN 和 FULL JOIN(MySQL 不直接支持 FULL JOIN,但可通過 UNION 實(shí)現(xiàn)),本文介紹MySQL各種 JOIN 的特點(diǎn)及應(yīng)用場(chǎng)景,感興趣的朋友一起看看吧
    2025-12-12
  • MySQL事務(wù)管理的作用詳解

    MySQL事務(wù)管理的作用詳解

    事務(wù)就是一組DML語句組成,這些語句在邏輯上存在相關(guān)性,這一組DML語句要么全部成功,要么全部失敗,是一個(gè)整體。MySQL提供一種機(jī)制,保證我們達(dá)到這樣的效果。事務(wù)還規(guī)定不同的客戶端看到的數(shù)據(jù)是不相同的
    2022-08-08
  • MySQL如何導(dǎo)入SQL數(shù)據(jù)庫的實(shí)戰(zhàn)舉例

    MySQL如何導(dǎo)入SQL數(shù)據(jù)庫的實(shí)戰(zhàn)舉例

    在使用mysql數(shù)據(jù)庫是,經(jīng)常需要備份或者恢復(fù)數(shù)據(jù)庫數(shù)據(jù),最便捷的方式就是通過導(dǎo)出sql文件備份和直接執(zhí)行sql文件恢復(fù),下面這篇文章主要給大家介紹了關(guān)于MySQL如何導(dǎo)入SQL數(shù)據(jù)庫的相關(guān)資料,需要的朋友可以參考下
    2023-05-05
  • MySQL中數(shù)據(jù)去重的兩種方式詳解(DISTINCT和GROUP BY)

    MySQL中數(shù)據(jù)去重的兩種方式詳解(DISTINCT和GROUP BY)

    在日常工作中,數(shù)據(jù)庫查詢操作無處不在,而處理數(shù)據(jù)中的重復(fù)項(xiàng)與分組匯總是非常常見的需求,MySQL提供了兩種常見的方式來管理和檢索唯一值:SELECT DISTINCT和GROUP BY,這篇文章帶大家將從功能、性能以及實(shí)際應(yīng)用等方面詳細(xì)介紹DISTINCT和GROUP BY的差異
    2025-09-09
  • MySQL JSON 查詢中的對(duì)象與數(shù)組技巧及查詢示例

    MySQL JSON 查詢中的對(duì)象與數(shù)組技巧及查詢示例

    MySQL中JSON對(duì)象和JSON 數(shù)組查詢的詳細(xì)介紹及帶有WHERE條件的查詢示例,本文給大家介紹的非常詳細(xì),mysql json查詢示例相關(guān)知識(shí)感興趣的朋友一起看看吧
    2025-06-06
  • Mysql啟動(dòng)中 InnoDB: Error: log file ./ib_logfile0 is of different size 0 5242880 bytes 的問題

    Mysql啟動(dòng)中 InnoDB: Error: log file ./ib_logfile0 is of differe

    對(duì)于使用了默認(rèn) my.cnf(一般教程都會(huì)教你使用support-files/my-medium.cnf)的Mysql服務(wù)來說如果中間使用了innodb的話,innodb默認(rèn)的log file大小是56M
    2011-05-05
  • MySQL安全策略(MySQL安全注意事項(xiàng))

    MySQL安全策略(MySQL安全注意事項(xiàng))

    這篇文章主要介紹了MySQL安全策略(MySQL安全注意事項(xiàng)),需要的朋友可以參考下
    2016-05-05
  • 在同一臺(tái)服務(wù)器中實(shí)現(xiàn)同時(shí)安裝mysql5.7和mysql8兩個(gè)數(shù)據(jù)庫

    在同一臺(tái)服務(wù)器中實(shí)現(xiàn)同時(shí)安裝mysql5.7和mysql8兩個(gè)數(shù)據(jù)庫

    本文指導(dǎo)您在已安裝并運(yùn)行的MySQL 5.7版本基礎(chǔ)上,配置并安裝MySQL 8.0版本,主要步驟包括關(guān)閉MySQL 5.7服務(wù)、修改配置文件路徑、解壓縮安裝包、更改文件權(quán)限、初始化MySQL 8.0等,安裝完成后,通過啟動(dòng)服務(wù)和本地連接數(shù)據(jù)庫來驗(yàn)證安裝
    2024-12-12
  • MySQL中進(jìn)行跨庫查詢的方法示例

    MySQL中進(jìn)行跨庫查詢的方法示例

    這篇文章主要給大家介紹了關(guān)于MySQL中進(jìn)行跨庫查詢的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07

最新評(píng)論

柳州市| 肃北| 鸡东县| 双柏县| 忻城县| 满洲里市| 西藏| 乐清市| 晴隆县| 张家川| 垦利县| 荆门市| 福建省| 鲁山县| 崇仁县| 米易县| 汉阴县| 阿克苏市| 明光市| 宣化县| 隆林| 建昌县| 东城区| 民乐县| 广安市| 云梦县| 七台河市| 沭阳县| 修文县| 岳西县| 徐州市| 达拉特旗| 太仆寺旗| 凤阳县| 天柱县| 余姚市| 长葛市| 仲巴县| 崇文区| 肇源县| 宁阳县|