亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 數(shù)據(jù)庫 > MySQL > 正文

mysql之explain使用詳解(分析索引)

2024-07-24 13:15:21
字體:
供稿:網(wǎng)友

explain顯示了mysql如何使用索引來處理select語句以及連接表??梢詭椭x擇更好的索引和寫出更優(yōu)化的查詢語句。

使用方法,在select語句前加上explain就可以了,如:

explain select * from statuses_status where id=11;

mysql,explain

explain列的解釋

table:顯示這一行的數(shù)據(jù)是關(guān)于哪張表的

type:這是重要的列,顯示連接使用了何種類型。從最好到最差的連接類型為const、eq_reg、ref、range、indexhe和all

possible_keys:顯示可能應(yīng)用在這張表中的索引。如果為空,沒有可能的索引??梢詾橄嚓P(guān)的域從where語句中選擇一個合適的語句

key: 實際使用的索引。如果為null,則沒有使用索引。很少的情況下,mysql會選擇優(yōu)化不足的索引。這種情況下,可以在select語句中使用use index(indexname)來強制使用一個索引或者用ignore index(indexname)來強制mysql忽略索引

key_len:使用的索引的長度。在不損失精確性的情況下,長度越短越好

ref:顯示索引的哪一列被使用了,如果可能的話,是一個常數(shù)

rows:mysql認(rèn)為必須檢查的用來返回請求數(shù)據(jù)的行數(shù)

extra:關(guān)于mysql如何解析查詢的額外信息。將在表4.3中討論,但這里可以看到的壞的例子是using temporary和using filesort,意思mysql根本不能使用索引,結(jié)果是檢索會很慢

extra列返回的描述的意義

distinct:一旦mysql找到了與行相聯(lián)合匹配的行,就不再搜索了

not exists: mysql優(yōu)化了left join,一旦它找到了匹配left join標(biāo)準(zhǔn)的行,就不再搜索了

range checked for each record(index map:#):沒有找到理想的索引,因此對于從前面表中來的每一個行組合,mysql檢查使用哪個索引,并用它來從表中返回行。這是使用索引的最慢的連接之一

using filesort: 看到這個的時候,查詢就需要優(yōu)化了。mysql需要進行額外的步驟來發(fā)現(xiàn)如何對返回的行排序。它根據(jù)連接類型以及存儲排序鍵值和匹配條件的全部行的行指針來排序全部行

using index: 列數(shù)據(jù)是從僅僅使用了索引中的信息而沒有讀取實際的行動的表返回的,這發(fā)生在對表的全部的請求列都是同一個索引的部分的時候

using temporary 看到這個的時候,查詢需要優(yōu)化了。這里,mysql需要創(chuàng)建一個臨時表來存儲結(jié)果,這通常發(fā)生在對不同的列集進行order by上,而不是group by上

where used 使用了where從句來限制哪些行將與下一張表匹配或者是返回給用戶。如果不想返回表中的全部行,并且連接類型all或index,這就會發(fā)生,或者是查詢有問題不同連接類型的解釋(按照效率高低的順序排序)

system 表只有一行:system表。這是const連接類型的特殊情況

const:表中的一個記錄的最大值能夠匹配這個查詢(索引可以是主鍵或惟一索引)。因為只有一行,這個值實際就是常數(shù),因為mysql先讀這個值然后把它當(dāng)做常數(shù)來對待

eq_ref:在連接中,mysql在查詢時,從前面的表中,對每一個記錄的聯(lián)合都從表中讀取一個記錄,它在查詢使用了索引為主鍵或惟一鍵的全部時使用

ref:這個連接類型只有在查詢使用了不是惟一或主鍵的鍵或者是這些類型的部分(比如,利用最左邊前綴)時發(fā)生。對于之前的表的每一個行聯(lián)合,全部記錄都將從表中讀出。這個類型嚴(yán)重依賴于根據(jù)索引匹配的記錄多少—越少越好

range:這個連接類型使用索引返回一個范圍中的行,比如使用>或<查找東西時發(fā)生的情況

index: 這個連接類型對前面的表中的每一個記錄聯(lián)合進行完全掃描(比all更好,因為索引一般小于表數(shù)據(jù))

all:這個連接類型對于前面的每一個記錄聯(lián)合進行完全掃描,這一般比較糟糕,應(yīng)該盡量避免

分析索引分析

在這里對explain的各個字段進行詳細(xì)的分析,來幫助大家分析自己所寫的sql是否最佳的使用了索引。

mysql,explain

首先是select_type:將select查詢分為簡單(simple)和復(fù)雜兩種類型

復(fù)雜類型又分為子查詢(subquery)和from列表中包含子查詢(drived)

simple:

mysql,explain

drived:

mysql,explain

就type進行詳細(xì)的介紹:

System,const,eq_ref,ref,range,index,all
all : 即全表掃描
index : 按索引次序掃描,先讀索引,再讀實際的行,結(jié)果還是全表掃描,主要優(yōu)點是避免了排序。因為索引是排好的。
range:以范圍的形式掃描。

explain select * from a where a_id > 1/G

ref:非唯一索引訪問(只有普通索引)

create table a(a_id int not null, key(a_id));insert into a values(1),(2),(3),(4),(5),(6),(7),(8),(9),(10);mysql> explain select * from a where a_id=1/G

eq_ref:使用唯一索引查找(主鍵或唯一索引)
const:常量查詢

在整個查詢過程中這個表最多只會有一條匹配的行,比如主鍵 id=1 就肯定只有一行,只需讀取一次表數(shù)據(jù)便能取得所需的結(jié)果,且表數(shù)據(jù)在分解執(zhí)行計劃時讀取。

mysql,explain

當(dāng)結(jié)果不是一條時,就會變成index或range等其他類型

system:系統(tǒng)查詢

null:優(yōu)化過程中就已經(jīng)得到結(jié)果,不在訪問表或索引

possible_keys:可能用到的索引

key:實際用到的索引

key_line:索引字段最大可能使用長度

ref:

指出對 key 列所選擇的索引的查找方式,常見的值有 const, func, NULL, 具體字段名。當(dāng) key 列為 NULL ,即不使用索引時,此值也相應(yīng)的為 NULL 。

rows:估計需要掃描的行數(shù)

Extra:顯示以上信息之外的其他信息

Using index

此查詢使用了覆蓋索引(Covering Index),即通過索引就能返回結(jié)果,無需訪問表。

若沒顯示"Using index"表示讀取了表數(shù)據(jù)。

Using where

表示 MySQL 服務(wù)器從存儲引擎收到行后再進行“后過濾”(Post-filter)。所謂“后過濾”,就是先讀取整行數(shù)據(jù),再檢查此行是否符合 where 句的條件,符合就留下,不符合便丟棄。因為檢查是在讀取行后才進行的,所以稱為“后過濾”。

Using temporary

使用到臨時表

建表及插入數(shù)據(jù):

create table a(a_id int, b_id int);insert into a values(1,1),(1,1),(2,1),(2,2),(3,1);mysql> explain select distinct a_id from a/G

Extra: Using temporary

MySQL 使用臨時表來實現(xiàn) distinct 操作。

Using filesort

若查詢所需的排序與使用的索引的排序一致,因為索引是已排序的,因此按索引的順序讀取結(jié)果返回,否則,在取得結(jié)果后,還需要按查詢所需的順序?qū)Y(jié)果進行排序,這時就會出現(xiàn) Using filesort 。

select * from a order by id;

對于沒有索引的列進行order by 就會出現(xiàn)filesort


注:相關(guān)教程知識閱讀請移步到MYSQL教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
国产精品午夜福利| 成人台湾亚洲精品一区二区| 一区二区三区亚洲变态调教大结局| 一级全黄裸体片| 牛牛澡牛牛爽一区二区| 成人免费播放视频| 成人av无码一区二区三区| 手机在线成人av| www.久久精品.com| 亚洲综合第一区| 精品国产伦一区二区三区观看方式| www视频免费| 亚洲一区在线观看免费观看电影高清| 欧美日韩天天操| 欧美香蕉爽爽人人爽| 精品盗摄女厕tp美女嘘嘘| 国产精品毛片一区视频| 一本到av在线| 欧洲女同同性吃奶| 亚洲一区日韩在线| 久久的色偷偷| 韩国欧美国产1区| 日韩精品中文在线观看| 91网址在线观看精品| 老熟妇仑乱视频一区二区| 亚洲自拍偷拍麻豆| 欧美交换国产一区内射| 自慰无码一区二区三区| 欧美日韩 一区二区三区| jyzzz在线观看视频| 国产又黄又粗又猛又爽的视频| 人妻少妇被粗大爽9797pw| 精品久久久久久亚洲综合网| 欧美日韩国产中文精品字幕自在自线| 日韩大片b站免费观看直播| 最近日本中文字幕| 成人av在线网址| 777精品伊人久久久久大香线蕉| 免费成人高清视频| 亚洲影院一区二区三区| 在线观看一区二区视频| 亚洲欧美日韩直播| 免费成人在线视频观看| 欧美在线观看视频免费| www.久久久久.com| 日韩一区二区三区在线观看视频| 91精品国产高清91久久久久久| 黑粗硬大欧美视频| 国产亚洲成年网址在线观看| 欧美精品一区二区视频| 欧美日韩中文在线视频| 欧美二区视频| 国产成人一区二区三区小说| 69国产精品成人在线播放| 日韩在线精品一区| 免费在线欧美视频| 中文字幕视频三区| 黄色视屏免费在线观看| 日韩国产中文字幕| www.色婷婷.com| 久久人体大胆视频| 男人天堂资源在线| 国外亚洲成av人片在线观看| 侵犯稚嫩小箩莉h文系列小说| 一区二区亚洲精品国产| 欧美女人性生活视频| 国产稀缺真实呦乱在线| 日韩有码在线播放| 国产中年熟女高潮大集合| 欧美成人免费全部| 91蝌蚪九色| 日本精品裸体写真集在线观看| 97久久超碰国产精品电影| 亚洲国产精品久久久| av动漫在线免费观看| 免费三片60分钟| 久久精视频免费在线久久完整在线看| 一个人看的日本免费视频| 超碰超碰人人人人精品| 亚洲自啪免费| 在线精品国精品国产尤物884a| 国产成人在线免费视频| 久久久一本精品99久久精品66| 久久这里只有精品视频网| 日韩一级片在线播放| 国产一区毛片| 黄色毛片免费看| 亚洲免费观看高清完整| 亚洲国产精品www| 精品成人在线视频| 亚洲精品欧美一区二区三区| 欧美精品尤物在线观看| www.亚洲| 久久av影院| 国产浮力第一页| 999久久久91| 中文字幕av一区二区| 国语精品中文字幕| 日韩精品一级二级| 欧美高清一级片在线| 黑人巨大精品欧美一区二区桃花岛| 亚洲国产小视频在线观看| 又黄又爽又色的视频| 最新中文字幕在线播放| 成人免费黄色网| 极品久久久久久| 国产精品一色哟哟| 亚洲综合一区中| 91久久精品一区二区| 国产精品一区2区| 国产精品xxx视频| 中文字幕日韩欧美一区二区三区| 久久影院电视剧免费观看| 亚洲地区一二三色| 欧美美女黄色网| 日韩在线免费观看视频| 上原亚衣av一区二区三区| 亚洲a一级视频| 凹凸精品一区二区三区| 国产成人精品免费视| 色综合天天综合网国产成人综合天| 国产亚洲一二三区| 国产精品午夜影院| 欧美熟妇另类久久久久久多毛| 亚洲国产午夜伦理片大全在线观看网站| 亚洲www啪成人一区二区麻豆| 91精品国产综合久久久久久| 国产偷拍一区二区| 国产伦精品一区二区三区视频小说| 高清国产一区二区三区| 亚洲一本二本| 日本免费黄色网| 黄色成人在线| 日韩尤物视频| 国产免费大片| 女海盗2成人h版中文字幕| 91黄视频在线观看| 男人操女人免费网站| 国产999精品久久久| 国产一区二区视频播放| 69**夜色精品国产69乱| 亚洲欧美国产高清| 果冻天美麻豆一区二区国产| 日韩欧美在线网站| 午夜激情一区| www男人天堂| 一级黄色免费在线观看| 国产91视觉| 日韩小视频在线观看专区| 亚洲国产精品综合小说图片区| 国模人体一区二区| 日本一区二区三区在线观看| 特黄特色欧美大片| 欧美xxbbb1手交| 毛片aaaaa| 亚洲人成电影网站色mp4| a中文字幕www| 国模无码视频一区| 精品一区二区三区久久| √最新版天堂资源网在线| 一区二区三区国| 丝袜亚洲精品中文字幕一区| 最近的2019中文字幕免费一页| 国产精品www网站| 色狮一区二区三区四区视频| 福利一区和二区| 国产亚洲一区二区三区不卡| 美女扒开腿让男人桶爽久久软| 秋霞影院午夜丰满少妇在线视频| 4444kk亚洲人成电影在线| 亚洲老头同性xxxxx| 999精品在线观看| 欧美韩国日本在线观看| 国产做受高潮漫动| 国产精品xxxxxx| av网站在线播放| 日本三级视频在线| 电影在线高清| 国产一级二级三级视频| 午夜成年女人毛片免费观看| 日韩视频一区在线| 亚洲一级不卡视频| 国产大屁股喷水视频在线观看| 色综合一区二区日本韩国亚洲| 亚洲黄网站在线观看| 国产91久久婷婷一区二区| 欧美三级在线观看视频| 亚洲人成在线电影| 中文字幕在线不卡国产视频| 男人精品网站一区二区三区| se视频在线观看| 国产精品qvod| 久久国产日韩欧美精品| 一区二区三区网站| 青青草国产免费自拍| 丰满熟妇乱又伦| 亚洲成年人视频| 欧美精品免费在线观看| 久久免费手机视频| 精品人妻aV中文字幕乱码色欲| 日本一级理论片在线大全| 极品尤物一区二区| 日韩精品久久久久久久的张开腿让| 夜夜爽www精品| 日韩av最新在线| 中文在线字幕免费观看| av电影在线网站| 亚洲精品国产日韩| 人妻va精品va欧美va| 亚洲精品成人无码熟妇在线| 不卡视频免费播放| 国产国产精品| www.17c.com喷水少妇| 蜜桃a∨噜噜一区二区三区| 99久久婷婷国产综合精品电影√| 麻豆av在线播放| 亚洲av无码片一区二区三区| 五码日韩精品一区二区三区视频| 亚洲 欧美 日韩 国产综合 在线| 69堂免费精品视频在线播放| 青青草成人在线| 午夜不卡影院| 免费观看黄色网| 久久人妻无码一区二区| 国产精品国产三级国产aⅴ9色| 成人在线中文| 激情欧美一区二区三区中文字幕| 亚洲色欲色欲www| 久久香蕉综合色一综合色88| 黑人另类精品××××性爽| 精品国产aⅴ一区二区三区东京热| 国产精品久久久精品四季影院| 日韩视频免费在线观看| 亚洲精品视频在线观看网站| 久久综合久久八八| 夜夜狠狠擅视频| 男人操女人的视频在线观看欧美| 色婷婷色综合| 久久久99999| 国产精品视频一区二区三区,| 日韩欧美中文一区二区| 久久视频在线直播| 欧美国产欧美亚洲国产日韩mv天天看完整| 欧美在线播放视频| 希岛爱理av免费一区二区| 国产成年精品| 国产精品激情电影| 国产清纯美女被跳蛋高潮一区二区久久w| 天堂网av手机版| 精品人妻伦九区久久aaa片| 久操国产精品| 一本久久知道综合久久| 久久国产精品99久久人人澡| 欧美老女人性生活视频| 久久亚洲精品小早川怜子| 久久久www免费人成精品| 日韩免费视频一区| 狠狠色狠狠色综合日日tαg| 香蕉视频黄在线观看| 一色屋色费精品视频在线观看| 不卡一区二区三区视频| 奇米777四色影视在线看| 久久99热99| 色婷婷综合久久久久中文字幕| 玖玖爱在线精品视频| 欧美国产高跟鞋裸体秀xxxhd| 99久久夜色精品国产亚洲| 色老板在线视频一区二区| 影音先峰男人站| 青青成人在线| 成人精品一区二区三区电影黑人| 成人网在线免费看| www.99riav| 亚洲欧洲精品一区二区| 亚洲视频一区二区免费在线观看| 久久久久久欧美| 欧美性猛交xxxx免费看| 十大免费污污软件| 丝袜国产免费观看| 亚洲va欧美va人人爽成人影院| 亚洲日本伊人| 337p日本欧洲亚洲大胆张筱雨| 久久国产在线视频| 91中文字幕在线播放| www.av中文字幕| 五月婷婷欧美激情| 亚洲十八**毛片| 国产精品国产三级国产在线观看| 国产精品久久久久久免费观看| 色网站在线播放| 日韩中文理论片| 欧美巨大xxxx| 亚洲国产wwwccc36天堂| 亚洲国产精品免费在线观看| 九九综合九九综合| 深田咏美中文字幕| 中文字幕第一区综合| 亚洲欧美另类图片小说| 黄色大片在线免费观看| 欧美xx网站| 国产精品亚洲综合色区韩国| 在线观看毛片网站| 日韩视频网站在线观看| 免费黄色网址网站| 日韩美一区二区三区| 日韩视频在线观看一区二区三区| 久久精品亚洲乱码伦伦中文| 亚洲网站情趣视频| 91视视频在线观看入口直接观看www| 国产啪精品视频| 久久经典综合| 国产精品香蕉在线观看| 91视视频在线直接观看在线看网页在线看| 99精品免费在线观看| 国产成人亚洲精品无码h在线| 91视频免费网址| 尤物视频在线免费观看| 三级全黄的视频在线观看| 91麻豆精品国产91久久久久| 精品日韩一区| 正在播放欧美一区| 91九色在线免费视频| 精品不卡在线| b站大片免费直播| 国产精彩精品视频| 国产成人无码精品久在线观看| 中文字幕中文字幕中文字幕亚洲无线| 成人资源视频网站免费|