精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

SQL調優之Explain關鍵字詳解

數據庫 MySQL
Explain關鍵字可以模擬優化器執行 SQL 查詢語句,從而知道 MySQL 是如何處理 SQL 語句的。分析查詢語句或表結構的性能瓶頸。執行語句:explain + SQL語句。

explain關鍵字可以模擬優化器執行 SQL 查詢語句,從而知道 MySQL 是如何處理 SQL 語句的。分析查詢語句或表結構的性能瓶頸。執行語句:explain + SQL語句。表頭信息如下:

explain各個字段代表的意思

  • id :select查詢的序列號,包含一組數字,表示查詢中執行select子句或操作表的順序。
  • select_type :查詢類型 或者是 其他操作類型。
  • table :正在訪問哪個表。
  • partitions :匹配的分區。
  • type :訪問的類型。
  • possible_keys :顯示可能應用在這張表中的索引,一個或多個,但不一定實際使用到。
  • key :實際使用到的索引,如果為NULL,則沒有使用索引。
  • key_len :表示索引中使用的字節數,可通過該列計算查詢中使用的索引的長度。
  • ref :顯示索引的哪一列被使用了,如果可能的話,是一個常數,哪些列或常量被用于查找索引列上的值。
  • rows :根據表統計信息及索引選用情況,大致估算出找到所需的記錄所需讀取的行數。
  • filtered :查詢的表行占表的百分比。
  • Extra :包含不適合在其它列中顯示但十分重要的額外信息。

ID 字段

select 查詢的序列號,包含一組數字,表示查詢中執行 select 子句或操作表的順序。三種情況:

id 相同: 執行順序由上而下:

explain select t2.* from t1,t2,t3 where t1.id = t2.id and t1.id = t3.id and t1.other_column = '';

id 不同: 如果是子查詢,id 序號會遞增,id 越大優先級越高,越先被執行。

explain select t2.* from t2 where id = (select id from t1 where id = (select t3.id from t3 where t3.other_column = ''));

id 相同不同同時存在: id 如果相同,可以認為是一組,由上往下執行;在所有組里 id 越大,優先級越高,越先執行。

explain select t2.* from (select t3.id from t3 where t3.other_column = '') s1,t2 where s1.id = t2.id;

select_type 字段

主要用于區別普通查詢、聯合查詢、子查詢等的復雜程度。
SIMPLE: 簡單的 select 查詢,查詢中不包含子查詢或者 UNION。
PRIMARY: 查詢中若包含任何復雜的自查詢,最外層查詢為 PRIMARY。

SUBQUERY: 在 SELECT 或 WHERE 中包含子查詢。
UNCACHEABLE SUBQUERY:一個子查詢的結果不能被緩存,必須重新評估外鏈接的第一行。
DERIVED: 在 FROM 列表中包含的子查詢被標記為 DERIVED(衍生)MySQL 會遞歸執行這些子查詢,把結果放進臨時表。

UNION: 若第二個 SELECT 出現在 UNION 之后,則被標記為 UNION,若 UNION 包含在 FROM 子句的子查詢,則外層SELECT 將被標記為 DERIVED。
UNION RESULT: 從 UNION表中獲取結果的 SELECT。

table字段

顯示這行數據是關于那張表

type字段

首先說一下這個字段,要記住以下10個狀態,(從左往右,越靠左邊的越優秀)

NULL > system > const > eq_ref > ref > ref_or_null > index_merge > range > index > ALL

NULL

MySQL能夠在優化階段分解查詢語句,在執行階段用不著再訪問表或索引。存在這樣一種情況,大家都知道索引是將數據在B+Tree中進行排序了,所以你的查詢速率才這么高,那么B+樹的最邊上的葉子節點是不是要么是最大值要么是最小值啊?既然你都知道了,那MySQL比你更知道啊!當你要查詢最大值或者最小值時,MySQL會直接到你的索引得分葉子節點上直接拿,所以不用訪問表或者索引。

NULL的前提是你已經建立了索引。

SYSTEM

表只有一行記錄(等于系統表),這是const類型的特列,平時不大會出現,可以忽略。

const

表示通過索引一次就能找到,const用于比較 primary和 unique索引。因為只匹配一行數據,所以很快。

簡單來說,const是直接按主鍵或唯一鍵讀取。

eq_ref

用于聯表查詢的情況,按聯表的主鍵或唯一鍵聯合查詢。多表join時,對于來自前面表的每一行,在當前表中只能找到一行。這可能是除了system和const之外最好的類型。

ref 可以用于單表掃描或者連接。如果是連接的話,驅動表的一條記錄能夠在被驅動表中通過非唯一(主鍵)屬性所在索引中匹配多行數據,或者是在單表查詢的時候通過非唯一(主鍵)屬性所在索引中查到一行數據。

ref_or_null 類似ref,但是可以搜索值為NULL的行。

index_merge

表示查詢使用了兩個以上的索引,最后取交集或者并集,常見and ,or的條件使用了不同的索引,官方排序這個在ref_or_null之后,但是實際上由于要讀取多個索引,性能可能大部分時間都不如range。

range

只檢索給定范圍的行,使用一個索引來選擇行。一般where語句中出現between、<、>、in等的查詢。這種范圍掃描索引比全表掃描要好,因為只需開始索引的某一點,而結束另一點,不用掃描全部索引;

index

Full Index Scan,index與 ALL區別為 index類型只遍歷索引樹,索引文件通常比數據文件小。index從索引中讀取,而All是從硬盤讀取;

ALL

從磁盤中讀取;如果一個查詢的type是All,并且表的數據量很大,那么請解決它!!!

possible_keys字段

這個表里面存在且可能會被使用的索引,可能會在這個字段下面出現,但是一般都以key為準。

key字段

實際使用的索引,如果為null,則沒有使用索引,否則會顯示你使用了哪些索引,查詢中若使用了覆蓋索引(查詢的列剛好是索引),則該索引僅出現在key列表。

ref字段

列與索引的比較,表示上述表的連接匹配條件,即哪些列或常量被用于查找索引列上的值。

rows字段和Filter字段

rows是根據表的統計信息和索引的選用情況,優化器大概幫你估算出你執行這行函數所需要查詢的行數。

Filter是查詢的行數與總行數的比值。其實作用與rows差不多,都是數值越小,效率越高。

Extra字段

Using index

表示相應的 select操作中使用了覆蓋索引(convering index),避免訪問了表的數據行,效率不錯!

覆蓋索引(covering index ,或稱為索引覆蓋)即從非主鍵索引中就能查到的記錄,而不需要查詢主鍵索引中的記錄,避免了回表的產生減少了樹的搜索次數,顯著提升性能。

Using temporary

表示MySQL需要使用臨時表來存儲結果集,常見于排序 order by和分組查詢 group by。

Using fileSort

表示當SQL中有一個地方需要對一些數據進行排序的時候,優化器找不到能夠使用的索引,所以只能使用外部的索引排序。

MySQL無法利用索引完成的排序操作稱為“文件排序”。導致該問題的原因一般是Where條件和order by子句作用在了不同的列上,一般可以通過合適的索引來減少或者避免。(出現表示不好)

上面提到的常見情況,SQL語句通常寫成這樣select * from a where type = 5 order by id,這類語句一般會產生Using filesort這個選項,即使你在type和id上分別添加了索引。我們想一下它的工作過程,先根據type的索引從所有數據信息中挑選出滿足type = 5條件的,然后根據id列的索引信息對挑選的數據進行排序,所以產生了Using filesort選項。可以通過聯合索引解決這個問題,即在type, id兩列上建立一個聯合索引。

Using where

查詢的列未被索引覆蓋,where篩選條件非索引的前導列,Extra 中為 Using where。


所謂前導列,就是在創建復合索引語句的第一列或者連續的多列。比如通過:CREATE INDEX comp_ind ON table1(x, y, z)創建索引,那么x,xy,xyz都是前導列,而yz,y,z這樣的就不是。

using where,using index

查詢的列被索引覆蓋,并且 where篩選條件是索引列之一但是不是索引的前導列,Extra中為Using where; Using index,意味著無法直接通過索引查找來查詢到符合條件的數據;

查詢的列被索引覆蓋,并且where篩選條件是索引列前導列的一個范圍,同樣意味著無法直接通過索引查詢到符合條件的數據

Using index condition

查詢的列不全在索引中,where條件中是一個前導列的范圍

查詢列不完全被索引覆蓋,查詢條件完全可以使用到索引(進行索引查找)

NULL(既沒有Using index,也沒有Using where Using index,也沒有using where)。

查詢的列未被索引覆蓋,并且where篩選條件是索引的前導列,意味著用到了索引,但是部分字段未被索引覆蓋,必須通過“回表”來實現,不是純粹地用到了索引,也不是完全沒用到索引,Extra中為NULL(沒有信息)。

Using join buffer

使用了連接緩存。

小表驅動大表

在表連接過程中。一般選擇小表作為驅動表,大表作為被驅動表。

驅動表(小表)的連接字段無論建立沒建立索引都需要全表掃描的。被驅動表(大表)如果在連接字段建立了索引,則可以走索引。如果沒有建立索引則也需要全表掃描。


兩張表連接的情況

被驅動表的連接字段有索引:主鍵索引

對于驅動表中的每一條數據,到被驅動表的聚簇索引上尋找其對應的數據。

被驅動表的連接字段有索引:二級索引

對于驅動表上的每一條數據,到被驅動表的二次索引上尋找其對應的數據id,然后再根據數據id到聚簇索引上尋找對應的數據。

被驅動表的連接字段沒有索引

對于驅動表上的每一條數據,都要到被驅動表上進行一次全表遍歷,找到對應的數據。

join buffer的作用

就是針對被驅動表的連接字段沒有索引的情況下需要進行全表掃描,所以引入了join buffer內存緩沖區來對這個全表掃描過程進行優化。

impossible where

where子句總是false,不能用來獲取任何元素。即篩選條件沒能篩選出任何數據。

select tables optimized away

在沒有 GROUPBY 子句的情況下,基于索引優化 MIN/MAX操作。

distinct

優化 distinct操作。在找到第一匹配的時候就停止找同樣的動作。

責任編輯:姜華 來源: 今日頭條
相關推薦

2023-03-30 08:28:57

explain關鍵字MySQL

2024-03-15 11:52:03

C++關鍵字編程

2021-01-04 15:42:37

SQL索引Explain

2011-08-23 13:16:41

SQLEXPLAIN

2009-09-02 09:24:03

C# this關鍵字

2013-01-30 10:12:14

Pythonyield

2021-02-01 13:10:07

Staticc語言UNIX系統

2011-06-14 13:26:27

volatile

2022-11-12 18:32:50

Golangomitemptyjson

2019-12-20 15:19:41

Synchroinze線程安全

2025-06-13 08:00:00

Java并發編程volatile

2009-09-28 11:34:49

Javascript

2021-07-27 07:31:16

單例模式關鍵字

2009-12-18 11:37:54

Ruby關鍵字yiel

2010-02-05 15:51:06

C++ explici

2017-05-27 20:59:30

Java多線程synchronize

2023-03-09 07:38:58

static關鍵字狀態

2021-03-17 09:35:51

MySQL數據庫explain

2010-07-23 14:32:43

SQL Server

2011-02-25 14:42:10

SQLwith關鍵字
點贊
收藏

51CTO技術棧公眾號

一级黄色录像大片| 欧美 日韩 成人| 欧美精品videossex少妇| 国产在线视频一区二区| 欧美激情视频一区| 亚洲一区二区乱码| 成人h在线观看| 综合欧美亚洲日本| 国产精品久久久对白| 亚洲图片在线视频| 亚洲成人av| 日韩av在线一区| 中文字幕第100页| 97人人在线视频| 国产欧美综合在线观看第十页| 91欧美精品午夜性色福利在线 | 97se亚洲国产综合自在线不卡| 国产www精品| 欧美黑人猛猛猛| 免费看成人吃奶视频在线| 91麻豆精品国产自产在线观看一区| 永久免费在线看片视频| 四虎精品在永久在线观看| 九色综合狠狠综合久久| 欧美在线性爱视频| 丝袜美腿小色网| 精品久久精品| 亚洲精品720p| 三级视频中文字幕| 亚洲精品永久免费视频| 亚洲精品国产精品乱码不99| 色一情一乱一伦一区二区三欧美| 欧美性猛交 xxxx| 精品一区二区三区在线观看国产| 日韩美女视频在线观看| 国产一二三四在线| 亚洲成人av| 精品国模在线视频| 在线观看国产精品一区| 色综合久久中文| 欧美mv和日韩mv的网站| 99久久99精品| 91丨精品丨国产| 欧美性极品少妇| 国产v亚洲v天堂无码久久久 | 午夜av免费在线观看| 国产黄色91视频| 91免费在线视频| 国产农村妇女毛片精品久久| 美女国产一区二区| 国产精品久久久久久av| 精品成人无码久久久久久| 亚洲一区久久| 青草青草久热精品视频在线网站| 日本熟伦人妇xxxx| 亚洲经典三级| 97久久精品国产| 黄网在线观看视频| 一区二区三区高清视频在线观看| 性欧美办公室18xxxxhd| 国产污片在线观看| 国产欧美日韩亚洲一区二区三区| 韩日欧美一区二区| 精品在线播放视频| 亚洲欧美日韩国产一区| 欧洲精品毛片网站| 无码人妻精品一区二区三区蜜桃91 | 欧美成人ⅴideosxxxxx| 狠狠做深爱婷婷久久综合一区| 男女日批视频在线观看| а√天堂中文资源在线bt| 精品久久久久久久中文字幕| 国产亚洲综合视频| 日韩高清成人| 欧美区视频在线观看| 午夜免费一级片| 亚洲一二av| 亚洲精品v欧美精品v日韩精品| 亚洲国产综合视频| 精品视频国产| 久久精品这里热有精品| 免费中文字幕视频| 宅男噜噜噜66一区二区| 国产成人在线一区| 国产伦精品一区二区三区四区| 国产一区二区按摩在线观看| 国产精品日韩二区| 国产人成在线视频| 亚洲理论在线观看| 日韩少妇内射免费播放18禁裸乳| 春暖花开亚洲一区二区三区| 欧美福利电影网| 美女久久久久久久久| 欧美人与拘性视交免费看| 最近2019免费中文字幕视频三 | 91欧美国产| 色综合久久悠悠| 九九热精品视频在线| 麻豆成人av在线| 国产精品一区二区三区在线| 国产专区在线| 亚洲精品成人精品456| 蜜桃传媒一区二区三区| 激情久久一区二区| 亚洲福利视频二区| 顶级黑人搡bbw搡bbbb搡| 在线精品一区| 91久久精品美女高潮| 无码国产精品96久久久久| 国产精品久久国产精麻豆99网站| 国产精品久久久久久久久电影网| 美女写真久久影院| 精品少妇一区二区三区在线播放 | 男男gay无套免费视频欧美| 日韩亚洲在线观看| 少妇太紧太爽又黄又硬又爽| 国产美女娇喘av呻吟久久| 日本福利一区二区三区| 欧美一卡二卡| 欧美美女bb生活片| 亚洲第一成人网站| 亚洲手机在线| 成人黄色生活片| 国产三级电影在线| 五月综合激情网| 99久久综合网| 久久精品国产www456c0m| 欧美重口另类videos人妖| 亚洲不卡免费视频| 日韩码欧中文字| 黑人粗进入欧美aaaaa| 欧美高清视频看片在线观看| 久久6免费高清热精品| 一区二区www| 日本一区免费视频| 熟女少妇精品一区二区| 思热99re视热频这里只精品| 国内精品伊人久久| 亚洲av无码国产精品久久不卡| 1024国产精品| jizz大全欧美jizzcom| 欧美丝袜一区| 国产精品69av| 成全电影播放在线观看国语| 日韩欧美在线字幕| 国产高清自拍视频| 国产视频久久| 九色综合婷婷综合| 日本在线啊啊| 精品调教chinesegay| 亚洲黄色三级视频| 久久夜色精品国产欧美乱极品| a级黄色一级片| 欧美三级午夜理伦三级在线观看| 午夜伦理精品一区| 亚洲色图 校园春色| 婷婷综合在线观看| 精品人妻一区二区三区香蕉| 午夜在线一区二区| 欧美日韩成人一区二区三区| 伊人色综合一区二区三区影院视频 | 国产日产精品_国产精品毛片| 97色在线视频| 亚洲欧美日韩免费| 色素色在线综合| 中文字幕有码在线播放| 美女mm1313爽爽久久久蜜臀| 好色先生视频污| 一区二区免费| 91精品国产自产91精品| 精品久久av| 欧美日韩国产综合一区二区| 在线看的片片片免费| 国产高清视频一区| 免费av手机在线观看| 伊人久久大香线蕉无限次| 国产精品美女久久| 免费高清在线观看| 欧美xxxxx牲另类人与| 成人免费区一区二区三区| 久久久久久夜精品精品免费| 五月婷婷六月丁香激情| 亚洲午夜在线| 蜜桃狠狠色伊人亚洲综合网站| 久久91导航| 欧美成人国产va精品日本一级| 日本xxxx人| 欧美性videosxxxxx| 精品99在线观看| 久久综合久久综合亚洲| 91制片厂毛片| 狠狠色狠狠色综合日日91app| 福利视频第一区| 永久免费成人代码| 韩国女主播成人在线观看| 国产3p露脸普通话对白| 成人三级视频| 国产激情一区二区三区在线观看 | 91精品91久久久久久| 成人在线高清视频| 精品久久久久一区二区国产| 午夜精品免费观看| 亚洲在线免费播放| 国产高清一区二区三区四区| 国产精品一区在线观看乱码 | 精品99久久久久久| 免费看av在线| 亚洲6080在线| 日本精品在线免费观看| 91老师国产黑色丝袜在线| 手机在线观看日韩av| 爽爽淫人综合网网站| 国产在线观看欧美| 日韩毛片视频| 久久精品五月婷婷| 99久久人爽人人添人人澡| 国产精品久久久久久久久久新婚 | 国产精品成熟老女人| 国产高清在线a视频大全| 日韩在线欧美在线国产在线| 日本v片在线免费观看| 欧美mv日韩mv国产网站| 国产精品老熟女视频一区二区| 黑人精品xxx一区| 欧美人与禽zozzo禽性配| 中文在线资源观看网站视频免费不卡 | 国产传媒免费在线观看| 久久久天堂av| 三级黄色片网站| 东方aⅴ免费观看久久av| 在线播放av中文字幕| 日日夜夜精品视频免费| 国产综合av在线| 韩国在线一区| 4444亚洲人成无码网在线观看| 欧美国产一级| 午夜一区二区三区| 国产剧情在线观看一区| 快播日韩欧美| 五月国产精品| 久久久久久亚洲精品不卡4k岛国| 国产91精品入| 国产成人精品免费视频大全最热| 电影一区二区三区久久免费观看| 国产精品久久久久久久天堂| 四虎4545www精品视频| 国产mv免费观看入口亚洲| 亚洲精品永久免费视频| 日产精品久久久一区二区福利| 手机在线观看av网站| 欧美一级大胆视频| 伊人久久视频| 日韩免费中文字幕| 日韩制服诱惑| 国产精品视频最多的网站| 日韩毛片一区| 国产主播在线一区| 国产一区二区三区精品在线观看| 成人免费视频a| 精品中文视频| 国产精品yjizz| 婷婷精品在线| 青青成人在线| 99精品电影| 中文字幕在线中文| 精品999网站| 69堂免费视频| 日韩精品色哟哟| 99re精彩视频| 国产精一区二区三区| 欧美午夜精品一区二区| a在线欧美一区| 中文字幕被公侵犯的漂亮人妻| 欧美激情在线观看视频免费| 中文字幕观看av| 亚洲最新视频在线播放| 在线观看黄网站| 在线观看成人免费视频| 97超碰人人草| 亚洲成人黄色网址| 久青青在线观看视频国产| 中文字幕亚洲欧美一区二区三区| 国产人成网在线播放va免费| 久久久久亚洲精品国产| 国产日韩电影| 91美女福利视频高清| 乱亲女h秽乱长久久久| 午夜午夜精品一区二区三区文| 综合激情网站| 国产超级av在线| 久久av老司机精品网站导航| 蜜臀av粉嫩av懂色av| 国产色产综合产在线视频| 欧美成人精品欧美一级私黄| 欧美视频中文字幕在线| 国产老妇伦国产熟女老妇视频| 亚洲激情在线视频| 中文字幕日本在线观看| 久久久久久av| 久久久加勒比| 精品国产电影| 婷婷综合视频| 成人午夜视频免费在线观看| 国产美女av一区二区三区| 久久久久久久久久久久| 一二三四社区欧美黄| 免费黄色片视频| 精品欧美一区二区在线观看| porn亚洲| 2018日韩中文字幕| 日韩在线成人| 亚洲图片小说在线| 亚洲一区一卡| 久久精品aⅴ无码中文字字幕重口| 久久先锋影音av鲁色资源网| 久久成人在线观看| 欧美精品自拍偷拍| 男人的天堂在线| 久久久久久欧美| 欧美视频精品全部免费观看| 日本一区视频在线播放| 99国产精品99久久久久久粉嫩| 一级黄色在线播放| 中文字幕乱码一区二区免费| 91视频免费网址| 精品三级在线看| a级在线观看| 成人黄色激情网| 波多野结衣一区| 青青青在线播放| 99精品久久只有精品| 久久老司机精品视频| 宅男在线国产精品| 免费在线你懂的| 国产日韩欧美自拍| 日本成人小视频| 无码内射中文字幕岛国片| 91免费观看国产| 久久久精品免费看| 亚洲精品v天堂中文字幕| 国产在线观看www| 国产主播一区二区三区四区| 禁久久精品乱码| 欧美激情一区二区三区p站| 亚洲综合一区在线| 亚洲精品国产手机| 欧美国产日韩一区| 超碰成人在线免费| 成品人视频ww入口| 成人动漫中文字幕| 91看片在线播放| 日韩第一页在线| 性欧美freesex顶级少妇| 久久大片网站| 巨乳诱惑日韩免费av| 91资源在线播放| 欧美三电影在线| 秋霞午夜在线观看| 7777精品伊久久久大香线蕉语言| 欧美一区网站| 97人妻精品一区二区三区免费 | 中文字幕高清在线免费播放| 亚洲欧洲午夜一线一品| 婷婷激情一区| 亚洲一区3d动漫同人无遮挡| 国产综合色产在线精品| 九九久久免费视频| 亚洲国产天堂久久综合网| 免费看av不卡| 一区二区三区四区免费视频| 国产一区二区看久久| 国产系列精品av| 亚洲欧美国产精品久久久久久久| 日本欧美韩国| 午夜探花在线观看| 91在线观看高清| 最近中文字幕在线观看视频| 久久久999国产| 韩国精品福利一区二区三区 | 男人最爱成人网| 亚洲精品一区二区毛豆| 国产精品影视在线| 久久久久久久久久久影院| 日日噜噜噜夜夜爽亚洲精品| 6080亚洲理论片在线观看| av观看免费在线| 亚洲色图制服丝袜| 神马午夜电影一区二区三区在线观看| 日本精品免费观看| 婷婷综合激情| 日本一区二区三区网站| 欧美色中文字幕| 成人高潮aa毛片免费| 视频在线精品一区| 丁香六月久久综合狠狠色| 中文字幕免费视频观看| 欧美激情中文网| 久久在线电影| 最新在线黄色网址| 91精品国产一区二区三区蜜臀|