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

SQL之EXPLAIN語法詳解

數(shù)據(jù)庫 MySQL
如果在SELECT語句前放上關(guān)鍵詞EXPLAIN,MySQL將解釋它如何處理SELECT,提供有關(guān)表如何聯(lián)接和聯(lián)接的次序。借助于EXPLAIN,可以知道什么時候必須為表加入索引以得到一個使用索引來尋找記錄的更快的SELECT。

1、EXPLAIN tbl_name

EXPLAIN tbl_name是DESCRIBE tbl_name或SHOW COLUMNS FROM tbl_name的一個同義詞。

2、EXPLAIN [EXTENDED] SELECT select_options

如果在SELECT語句前放上關(guān)鍵詞EXPLAIN,MySQL將解釋它如何處理SELECT,提供有關(guān)表如何聯(lián)接和聯(lián)接的次序。

借助于EXPLAIN,可以知道什么時候必須為表加入索引以得到一個使用索引來尋找記錄的更快的SELECT。

還可以知道優(yōu)化器是否以一個***次序聯(lián)接表。為了強制優(yōu)化器讓一個SELECT語句按照表命名順序的聯(lián)接次序,語句應(yīng)以STRAIGHT_JOIN而不只是SELECT開頭。

EXPLAIN為用于SELECT語句中的每個表返回一行信息。表以它們在處理查詢過程中將被MySQL讀入的順序被列出。MySQL用一遍掃描多次聯(lián)接(single-sweep multi-join)的方式解決所有聯(lián)接。這意味著MySQL從***個表中讀一行,然后找到在第二個表中的一個匹配行,然后在第3個表中等等。當(dāng)所有的表處理完后,它輸出選中的列并且返回表清單直到找到一個有更多的匹配行的表。從該表讀入下一行并繼續(xù)處理下一個表。

當(dāng)使用EXTENDED關(guān)鍵字時,EXPLAIN產(chǎn)生附加信息,可以用SHOW WARNINGS瀏覽。該信息顯示優(yōu)化器限定SELECT語句中的表和列名,重寫并且執(zhí)行優(yōu)化規(guī)則后SELECT語句是什么樣子,并且還可能包括優(yōu)化過程的其它注解。

EXPLAIN的每個輸出行提供一個表的相關(guān)信息,并且每個行包括下面的列:

id:SELECT識別符。這是SELECT的查詢序列號。

select_type:SELECT類型。

  1. SIMPLE: 簡單SELECT(不使用UNION或子查詢)
  2. PRIMARY: 最外面的SELECT
  3. UNION:UNION中的第二個或后面的SELECT語句
  4. DEPENDENT UNION:UNION中的第二個或后面的SELECT語句,取決于外面的查詢
  5. UNION RESULT:UNION的結(jié)果
  6. SUBQUERY:子查詢中的***個SELECT
  7. DEPENDENT SUBQUERY:子查詢中的***個SELECT,取決于外面的查詢
  8. DERIVED:導(dǎo)出表的SELECT(FROM子句的子查詢)

table:表名

type:聯(lián)接類型

  1. system:表僅有一行(=系統(tǒng)表)。這是const聯(lián)接類型的一個特例。
  2. const:表最多有一個匹配行,它將在查詢開始時被讀取。因為僅有一行,在這行的列值可被優(yōu)化器剩余部分認(rèn)為是常數(shù)。const用于用常數(shù)值比較PRIMARY KEY或UNIQUE索引的所有部分時。
  3. eq_ref:對于每個來自于前面的表的行組合,從該表中讀取一行。這可能是***的聯(lián)接類型,除了const類型。它用在一個索引的所有部分被聯(lián)接使用并且索引是UNIQUE或PRIMARY KEY。eq_ref可以用于使用= 操作符比較的帶索引的列。比較值可以為常量或一個使用在該表前面所讀取的表的列的表達(dá)式。
  4. ref:對于每個來自于前面的表的行組合,所有有匹配索引值的行將從這張表中讀取。如果聯(lián)接只使用鍵的最左邊的前綴,或如果鍵不是UNIQUE或PRIMARY KEY(換句話說,如果聯(lián)接不能基于關(guān)鍵字選擇單個行的話),則使用ref。如果使用的鍵僅僅匹配少量行,該聯(lián)接類型是不錯的。ref可以用于使用=或<=>操作符的帶索引的列。
  5. ref_or_null:該聯(lián)接類型如同ref,但是添加了MySQL可以專門搜索包含NULL值的行。在解決子查詢中經(jīng)常使用該聯(lián)接類型的優(yōu)化。
  6. index_merge:該聯(lián)接類型表示使用了索引合并優(yōu)化方法。在這種情況下,key列包含了使用的索引的清單,key_len包含了使用的索引的最長的關(guān)鍵元素。
  7. unique_subquery:該類型替換了下面形式的IN子查詢的ref:value IN (SELECT primary_key FROMsingle_table WHERE some_expr);unique_subquery是一個索引查找函數(shù),可以完全替換子查詢,效率更高。
  8. index_subquery:該聯(lián)接類型類似于unique_subquery。可以替換IN子查詢,但只適合下列形式的子查詢中的非唯一索引:value IN (SELECT key_column FROM single_table WHERE some_expr)
  9. range:只檢索給定范圍的行,使用一個索引來選擇行。key列顯示使用了哪個索引。key_len包含所使用索引的最長關(guān)鍵元素。在該類型中ref列為NULL。當(dāng)使用=、<>、>、>=、<、<=、IS NULL、<=>、BETWEEN或者IN操作符,用常量比較關(guān)鍵字列時,可以使用range
  10. index:該聯(lián)接類型與ALL相同,除了只有索引樹被掃描。這通常比ALL快,因為索引文件通常比數(shù)據(jù)文件小。
  11. all:對于每個來自于先前的表的行組合,進(jìn)行完整的表掃描。如果表是***個沒標(biāo)記const的表,這通常不好,并且通常在它情況下很差。通常可以增加更多的索引而不要使用ALL,使得行能基于前面的表中的常數(shù)值或列值被檢索出。

#p#

possible_keys:possible_keys列指出MySQL能使用哪個索引在該表中找到行。注意,該列完全獨立于EXPLAIN輸出所示的表的次序。這意味著在possible_keys中的某些鍵實際上不能按生成的表次序使用。

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

key_len:key_len列顯示MySQL決定使用的鍵長度。如果鍵是NULL,則長度為NULL。注意通過key_len值我們可以確定MySQL將實際使用一個多部關(guān)鍵字的幾個部分。

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

rows:rows列顯示MySQL認(rèn)為它執(zhí)行查詢時必須檢查的行數(shù)。

Extra:該列包含MySQL解決查詢的詳細(xì)信息。

  1. Distinct:MySQL發(fā)現(xiàn)第1個匹配行后,停止為當(dāng)前的行組合搜索更多的行。
  2. Not exists:MySQL能夠?qū)Σ樵冞M(jìn)行LEFT JOIN優(yōu)化,發(fā)現(xiàn)1個匹配LEFT JOIN標(biāo)準(zhǔn)的行后,不再為前面的的行組合在該表內(nèi)檢查更多的行。
  3. range checked for each record (index map: #):MySQL沒有發(fā)現(xiàn)好的可以使用的索引,但發(fā)現(xiàn)如果來自前面的表的列值已知,可能部分索引可以使用。對前面的表的每個行組合,MySQL檢查是否可以使用range或index_merge訪問方法來索取行。
  4. Using filesort:MySQL需要額外的一次傳遞,以找出如何按排序順序檢索行。通過根據(jù)聯(lián)接類型瀏覽所有行并為所有匹配WHERE子句的行保存排序關(guān)鍵字和行的指針來完成排序。然后關(guān)鍵字被排序,并按排序順序檢索行。
  5. Using index:從只使用索引樹中的信息而不需要進(jìn)一步搜索讀取實際的行來檢索表中的列信息。當(dāng)查詢只使用作為單一索引一部分的列時,可以使用該策略。
  6. Using temporary:為了解決查詢,MySQL需要創(chuàng)建一個臨時表來容納結(jié)果。典型情況如查詢包含可以按不同情況列出列的GROUP BY和ORDER BY子句時。
  7. Using where:WHERE子句用于限制哪一個行匹配下一個表或發(fā)送到客戶。除非你專門從表中索取或檢查所有行,如果Extra值不為Using where并且表聯(lián)接類型為ALL或index,查詢可能會有一些錯誤。
  8. Using sort_union(...), Using union(...), Using intersect(...):這些函數(shù)說明如何為index_merge聯(lián)接類型合并索引掃描。
  9. Using index for group-by:類似于訪問表的Using index方式,Using index for group-by表示MySQL發(fā)現(xiàn)了一個索引,可以用來查詢GROUP BY或DISTINCT查詢的所有列,而不要額外搜索硬盤訪問實際的表。并且,按最有效的方式使用索引,以便對于每個組,只讀取少量索引條目。

通過相乘EXPLAIN輸出的rows列的所有值,你能得到一個關(guān)于一個聯(lián)接如何的提示。這應(yīng)該粗略地告訴你MySQL必須檢查多少行以執(zhí)行查詢。當(dāng)你使用max_join_size變量限制查詢時,也用這個乘積來確定執(zhí)行哪個多表SELECT語句。

原文鏈接:http://blog.csdn.net/gzh0222/article/details/6707760

【編輯推薦】

  1. 教你如何利用MySQL學(xué)習(xí)MongoDB
  2. Craigslist采用MongoDB替代MySQL
  3. MySQL中的NoSQL插件
  4. SQL與NoSQL——MySQL與NoSQL的融合
  5. 論MySQL何時使用索引,何時不使用索引

 

 

 

 

 

 

 

責(zé)任編輯:艾婧 來源: gzh0222的專欄
相關(guān)推薦

2023-11-10 09:29:30

MySQLExplain

2017-07-27 20:00:47

MySQLEXPLAIN命令

2010-11-11 10:18:59

select into

2017-04-07 14:30:26

2010-08-31 08:51:58

marginCSS

2023-09-21 10:55:51

MysqlSQL語句

2009-12-10 16:12:07

EXPLAIN

2024-12-11 13:14:27

2019-09-20 10:00:33

SQLMySQL數(shù)據(jù)

2021-02-20 08:40:19

HiveExplain底層

2011-05-24 09:10:24

MySQLMongoDB

2023-02-10 14:54:20

編譯工具cmake

2011-08-19 10:40:27

SQL Server Merge命令

2011-08-19 11:00:54

SQL Server WaitFor命令

2010-09-14 16:00:34

sql select語

2024-06-21 09:37:02

DefPython函數(shù)

2010-09-06 13:15:48

CSS定位

2011-08-18 14:25:26

OracleEXPLAIN PLA

2010-09-24 19:08:08

SQL事務(wù)

2009-11-17 13:35:40

Oracle SQL語
點贊
收藏

51CTO技術(shù)棧公眾號

欧日韩一区二区三区| 亚洲色图第三页| av 日韩 人妻 黑人 综合 无码| 不卡中文字幕在线观看| 国产精品探花在线播放| 制服丝袜中文字幕在线| 99国产精品久久久| 国产日本欧美视频| 日本一二三区视频| 欧美日韩性在线观看| 欧美人成免费网站| 欧美极品欧美精品欧美| 久久综合网导航| 久久亚洲一级片| 亚洲综合成人婷婷小说| 成人a v视频| 激情欧美日韩| 久久九九亚洲综合| 男人操女人动态图| 丁香一区二区| 91精品免费观看| 午夜dv内射一区二区| 欧美性猛片xxxxx免费中国| 国产色婷婷亚洲99精品小说| 懂色中文一区二区三区在线视频 | 懂色一区二区三区| 成人精品在线视频观看| 国产在线999| 日韩人妻精品中文字幕| 亚洲国产专区校园欧美| 美女国内精品自产拍在线播放| 在线不卡av电影| 成人爽a毛片| 日韩小视频在线观看专区| 91色国产在线| 成人av观看| 午夜精品视频在线观看| 800av在线免费观看| 日本高清中文字幕在线| 国产女同性恋一区二区| 久久综合伊人77777麻豆| 乱色精品无码一区二区国产盗| 国产普通话bbwbbwbbw| 亚洲免费福利一区| 亚洲激情成人网| 韩国黄色一级片| 午夜精品久久久久久久第一页按摩| 无码人妻精品一区二区三区在线| 青青草视频成人| 伊人久久噜噜噜躁狠狠躁| 欧美日韩国产一区| 在线免费av播放| 亚洲一区二区三区四区| 色婷婷狠狠综合| 欧美激情日韩图片| 69xxx免费视频| xvideos.蜜桃一区二区| 亚洲成人黄色在线观看| 亚洲AV无码久久精品国产一区| av大片在线免费观看| 午夜电影一区| 日韩视频中午一区| 精品国产乱码久久久久久虫虫漫画 | 久久久精品毛片| 视频一区视频二区中文字幕| 国产成人午夜视频网址| 懂色av蜜臀av粉嫩av分享吧最新章节| 久久尤物视频| 国产精品亚洲网站| 国产精品老熟女视频一区二区| 国产一区二区三区免费| 99久久精品免费看国产四区| 亚洲精品久久久狠狠狠爱| 成人自拍视频在线| 久久久久久草| 95在线视频| 亚洲人成精品久久久久久| 中文字幕综合在线观看| 搜索黄色一级片| 亚洲av片在线观看| 99久久综合99久久综合网站| 欧美日韩亚洲免费| 三区四区在线视频| 亚洲综合视频在线| 日韩在线综合网| 精品亚洲a∨| 欧美大胆人体bbbb| 国产又爽又黄无码无遮挡在线观看| 久久av免费| 久久婷婷国产麻豆91天堂| 国产精品a成v人在线播放| 久久中文字幕一区二区三区| 91美女片黄在线观看游戏| 丰满人妻一区二区三区免费| 久久亚洲私人国产精品va媚药| 正在播放国产精品| 91超碰在线| 欧美日韩在线精品一区二区三区激情 | 成人黄色动漫| 欧美性欧美巨大黑白大战| 午夜精品免费看| 亚洲国产午夜伦理片大全在线观看网站| 强伦女教师2:伦理在线观看| 大乳在线免费观看| 亚洲制服欧美中文字幕中文字幕| 久久久国产精彩视频美女艺术照福利| 你懂的在线观看网站| japanese国产精品| 韩剧1988在线观看免费完整版| 亚洲 小说区 图片区| www.亚洲人| 天堂av免费看| 日本免费一区二区三区四区| 精品久久久久久久久久久久久久久久久 | 国产情侣一区| 成人免费高清完整版在线观看| 婷婷综合激情网| 亚洲蜜桃精久久久久久久| 免费观看成人网| 国产精品国产| 久热在线中文字幕色999舞| 免费黄色av片| 91网站最新网址| 成人av在线不卡| av日韩一区| 色吧影院999| 精人妻无码一区二区三区| 99在线精品一区二区三区| 精品一区二区成人免费视频| 外国成人直播| 日韩精品视频中文在线观看| 国产性猛交普通话对白| av在线app| 在线免费观看av片| 午夜视频在线播放| 成人免费视频caoporn| 亚洲日本欧美在线| 成人软件在线观看| 日韩电影免费观看中文字幕| 国产在线欧美在线| 亚洲午夜国产成人| 黄在线观看免费网站ktv| av在线免费播放| 天堂av2024| 亚洲最大网站| 欧美日韩亚洲综合在线 | 国产综合色激情| 亚洲性生活视频在线观看| 91香蕉视频mp4| 欧美一区二区三区电影在线观看| 黄视频网站在线观看| 亚洲国产欧美一区二区丝袜黑人| 久久久久久久久久一区二区三区 | 国产精品一区二区性色av| 免费在线观看一级毛片| 色香蕉久久蜜桃| 国产精品20p| 久久精品国产免费| 26uuu成人| 一区二区三区视频免费视频观看网站| 欧美日韩成人黄色| 黄色片一区二区| 姬川优奈aav一区二区| 女尊高h男高潮呻吟| 日本欧美一区二区三区乱码 | 亚洲国产免费看| 精品乱子伦一区二区三区| 亚洲人成午夜免电影费观看| 亚洲人成网站免费播放| 羞羞色院91蜜桃| 亚洲欧美另类小说| 日本黄色动态图| 99国产精品| 天堂精品一区二区三区| 国产精品久一| 欧美一级大胆视频| 99视频在线观看地址| 欧美一卡二卡三卡| 国产精品视频播放| 国产精品第六页| 中文字幕亚洲在| 天天躁日日躁狠狠躁av麻豆男男| 免费视频久久| 青青草原国产免费| 天堂俺去俺来也www久久婷婷| 国产v综合ⅴ日韩v欧美大片 | 欧美日韩爱爱视频| 免费观看成年在线视频网站| 欧美丰满少妇xxxbbb| 日韩av一二三区| 国产农村妇女毛片精品久久麻豆 | www.色日本| 色天天综合色天天久久| 国产真人真事毛片视频| 成人激情校园春色| 国产一区二区在线免费播放| 韩国av一区| 亚洲日本理论电影| 日韩深夜影院| 91在线短视频| 最新欧美电影| 97国产在线观看| 日本成人在线播放| 亚洲欧美日本日韩| 久久久久久久久久久人体| 成人三级黄色免费网站| 欧美精品一区二区三区久久久| 中文字幕人妻精品一区| 午夜精品免费在线观看| 糖心vlog免费在线观看| 久久久久久毛片| 亚洲自拍偷拍精品| 国产在线精品一区二区| 国产精品乱码久久久久| 1024日韩| 日韩一级片一区二区| 色男人天堂综合再现| 欧美色欧美亚洲另类七区| 97视频一区| 成人欧美一区二区三区黑人孕妇 | 五月婷婷综合在线观看| 国产精品自拍在线| 亚洲免费999| 日韩电影免费在线| 日韩欧美国产免费| 在线不卡视频| 妞干网视频在线观看| 婷婷综合伊人| 在线精品亚洲一区二区| 国产一区不卡| 欧美午夜欧美| 亚洲妇女av| 久久精品综合一区| 九色丨蝌蚪丨成人| 成人羞羞视频免费| 51亚洲精品| 亚洲最大福利网站| 欧美影院精品| av一区二区三区免费| 欧州一区二区三区| 97伦理在线四区| 麻豆国产精品| 97超级在线观看免费高清完整版电视剧| 日本亚洲欧洲无免费码在线| 国产美女被下药99| 亚洲最大的免费视频网站| 国产日韩精品入口| 91精品亚洲一区在线观看| 成人国产在线视频| 久操手机在线视频| 欧美日中文字幕| 亚洲三区在线| 亚洲字幕久久| 欧美国产日韩激情| 日韩午夜一区| 激情五月开心婷婷| 日本va欧美va精品| 五月天激情播播| 国模大尺度一区二区三区| 亚洲综合20p| 成熟亚洲日本毛茸茸凸凹| 中文在线一区二区三区| 国产亚洲一本大道中文在线| 在线观看亚洲大片短视频| 综合色中文字幕| 久久久久久福利| 色综合久久久久网| 亚洲综合精品国产一区二区三区| 在线播放中文字幕一区| 午夜美女福利视频| 精品视频久久久久久久| 91最新在线| 久久久久久久久久久国产| 久久精品女人天堂av免费观看| 成人福利网站在线观看| 嗯用力啊快一点好舒服小柔久久| 久久久久久久有限公司| 色喇叭免费久久综合| www.好吊操| 快she精品国产999| 黄色a级三级三级三级| av电影天堂一区二区在线| 亚洲天堂岛国片| 亚洲一区精品在线| 免费黄色av片| 久久亚洲一区二区三区四区| 亚洲成人aaa| 欧美精品色婷婷五月综合| 在线欧美福利| 91看片就是不一样| 激情文学综合丁香| 精品久久久三级| 亚洲三级在线| 精品乱码一区二区三区| 不卡日本视频| www.av蜜桃| 老色鬼精品视频在线观看播放| 黑人玩弄人妻一区二区三区| 国产三区在线成人av| 久久免费视频播放| 欧美日韩免费一区二区三区| 视频污在线观看| 久久视频在线视频| 日韩高清中文字幕一区二区| 官网99热精品| 99久久99视频只有精品| 成年网站在线免费观看| 国产a区久久久| 手机免费观看av| 欧美色欧美亚洲高清在线视频| 国产伦子伦对白视频| 亚洲人成网站免费播放| 狠狠热免费视频| 九九久久电影| 激情五月婷婷六月| 寂寞少妇一区二区三区| 最新中文字幕av| 精品久久久久久中文字幕大豆网| 国产三级在线观看视频| 尤物九九久久国产精品的特点 | 久久全国免费视频| 国产情侣一区在线| 亚洲一二三区精品| 日韩精品电影在线| 成人午夜精品久久久久久久蜜臀| 啪啪小视频网站| 免费视频观看成人| 国产精品久久久久久久久男| 国产精品超碰| 精品人妻人人做人人爽| 国产乱码精品一区二区三区忘忧草| 国产精品久久久视频| 色视频成人在线观看免| 日本不卡视频一区二区| 7m精品福利视频导航| 国产精品一线| 日本三级韩国三级久久| 你懂的在线观看网站| 男女精品网站| 毛茸茸多毛bbb毛多视频| 亚洲成av人片一区二区| 欧美一区二区三区成人片在线| 欧美疯狂性受xxxxx另类| 精品中文在线| 91视频 - 88av| 国产激情91久久精品导航 | 亚洲日本精品| www.欧美国产| 亚洲日本黄色| 中文在线不卡视频| 国产91色在线观看| 国产精品一品| 亚洲欧美一区二区三区极速播放| 成人免费视频观看视频| 全国精品免费看| 亚洲午夜精品一区二区| 亚洲欧美自偷自拍| 看片的网站亚洲| 另类视频在线观看| 中文字幕中文字幕在线中高清免费版 | 亚洲精品网站在线观看| 国产超碰人人模人人爽人人添| 久久99久久亚洲国产| 成人激情自拍| 成人在线免费在线观看| 久久婷婷国产| 国产传媒久久久| 99久久伊人网影院| 无码人妻丰满熟妇精品| 中文字幕国产精品| 欧美特黄不卡| 国产精品无码av在线播放| 国产校园另类小说区| 色综合久久中文字幕综合网小说| 中文在线中文资源| 色婷婷精品国产一区二区三区| 麻豆成人91精品二区三区| 国产女人被狂躁到高潮小说| 亚洲护士老师的毛茸茸最新章节| 三上悠亚国产精品一区二区三区| 亚洲欧美久久234| 国产激情一区二区三区四区| 99精品在线播放| 久久久精品一区二区| 美女福利一区| 亚洲欧美在线精品| 亚洲一区二区三区不卡国产欧美| 欧美精品a∨在线观看不卡 | 久久久999精品免费| 都市激情亚洲| 911福利视频| 婷婷综合五月天| 日本视频在线观看| 国产综合色一区二区三区| 蜜桃久久精品一区二区| 国产乱码久久久久久| 日韩在线视频观看| 日本成人7777| 久久久久久久久久久影视| 一本色道**综合亚洲精品蜜桃冫|