黄视频网站在线免费观看-黄视频网站在线看-黄视频网站在线观看-黄视频网站免费看-黄视频网站免费观看-黄视频网站免费

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費(fèi)學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費(fèi)學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > Using where;Using index和Using index condition區(qū)別是什么?

Using where;Using index和Using index condition區(qū)別是什么?

來源:千鋒教育
發(fā)布人:xqq
時間: 2023-10-13 04:44:46 1697143486

一、Using where;Using index和Using index condition區(qū)別是什么

using index代表使用覆蓋索引,不用回表using where代表數(shù)據(jù)庫引擎返回結(jié)果后mysql server還會再次篩選。(引擎就是innodb這種,要注意區(qū)分引擎和mysql server的區(qū)別。)using condition index代表使用二級索引不夠還要回表,但回表之前會過濾此二級索引能過濾的where條件。總之,Using where、Using index、Using index condition三者的區(qū)別主要在于是否需要全表掃描、是否使用了覆蓋索引、以及是否采用了索引條件過濾等技術(shù)來提高查詢性能。使用合適的索引和查詢方式,可以顯著提高M(jìn)ySQL的查詢性能和效率。

二、MySQL索引優(yōu)化Using where、Using filesort

1、官方定義

Explain分析SQL語句的時候,經(jīng)常發(fā)現(xiàn)有的語句在Extra列會出現(xiàn)Using filesort,根據(jù)MySQL官方文檔對他的描述:

MySQL must do an extra pass to find out how to retrieve the rows in sorted order. The sort is done by going through all rows according to the join type and storing the sort key and pointer to the row for all rows that match the WHERE clause。

中文手冊上的翻譯:Mysql需要額外的一次傳遞,以找出如何按排序順序檢索行,通過根據(jù)聯(lián)接類型瀏覽所有行并為所有匹配where子句的行保存排序關(guān)鍵字和行的指針來完成排序,然后關(guān)鍵字被排序,并按排序順序檢索行。

總的來說,Using filesort 是Mysql里一種速度比較慢的外部排序,如果能避免是較好的了,很多時候,我們可以通過優(yōu)化索引來盡量避免出現(xiàn)Using filesort,從而提高速度。

2、實(shí)例

這里舉個簡單的例子:

CREATE TABLE testing (id int(10) unsigned NOT NULL auto_increment,room_number int(10) unsigned NOT NULL default '0',PRIMARY KEY (id),KEY room_number (room_number)) ENGINE=MyISAM DEFAULT CHARSET=latin1

寫個存儲過程askwan,插入10萬條測試數(shù)據(jù):

mysql> DELIMITER $$DROP PROCEDURE IF EXISTS askwan.askwanCREATEPROCEDURE‘a(chǎn)skwan‘.‘a(chǎn)skwan‘()BEGINDECLAREvINTDEFAULT1;WHILEv<100000;DOINSERTINTOtestingVALUES(v,v);SETv=v+1;ENDWHILE;ENDmysql> DELIMITER ;mysql> CALL askwan();Query OK, 1 row affected (13.21 sec)

開始試驗(yàn),由上面例子中建立的表信息,我已經(jīng)建立了兩個索引,一個主鍵id,一個room_number列索引
那現(xiàn)在來看一條SQL:

SELECT id FROM testing WHERE room_number=1000 ORDER BY id ;

分析一下:

mysql> EXPLAIN SELECT id FROM testing WHERE room_number=1000 ORDER BY id ;
+----+-------------+---------+------+---------------+-------------+---------+-------+------+-----------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+------+---------------+-------------+---------+-------+------+-----------------------------+
| 1 | SIMPLE | testing | ref | room_number | room_number | 4 | const | 1 | Using where; Using filesort |
+----+-------------+---------+------+---------------+-------------+---------+-------+------+-----------------------------+
1 row in set (0.00 sec)

出現(xiàn)了Using filesort,并且用到了room_number這列索引,但是,在這里用到的索引是針對WHERE后面的room_number條件的,而最后面的排序是根據(jù)id來的,這就是手冊中說的,“額外的一次排序”,于是就會出現(xiàn)Using filesort,再建立一個聯(lián)合索引 room_number_id:

alter table testing add index room_number_id(room_number,id);

再來分析一下:

mysql> EXPLAIN SELECT id FROM testing WHERE room_number=1000 ORDER BY id ;
+----+-------------+---------+------+----------------------------+----------------+---------+-------+------+--------------------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+---------+------+----------------------------+----------------+---------+-------+------+--------------------------+
| 1 | SIMPLE | testing | ref | room_number,room_number_id | room_number_id | 4 | const | 1 | Using where; |
+----+-------------+---------+------+----------------------------+----------------+---------+-------+------+--------------------------+
1 row in set (0.00 sec)

現(xiàn)在Using filesort不出現(xiàn)了。

3、總結(jié)

一般有order by語句,在索引加得不當(dāng)?shù)那闆r下,都有可能出現(xiàn)Using filesort,這時候就要對SQL語句和索引進(jìn)行優(yōu)化了,但是,并不是說出現(xiàn)Using filesort就是個嚴(yán)重的問題,不是這樣的,此次舉的例子比較極端,幾乎不太可能出現(xiàn)這么傻瓜的查詢,優(yōu)化和不優(yōu)化,要看它是不是影響了業(yè)務(wù)性能。從上面可以看到聯(lián)合索引,也可以叫多列索引,形如 key (‘A1′,’A2′,’A3′ ,’A4’)等的,排序的思路一般是,先按照A1來排序,A1相同,然后按照A2排序,以此類推,這樣對于(A1),(A1,A2),(A1,A2,A3)的索引都是有效的,但是對于(A2,A3)這樣的索引就無效了。

需要了解MySQL 的特性

一條 SQL 語句只能使用 1 個索引 (5.0-),MySQL 根據(jù)表的狀態(tài),選擇一個它認(rèn)為較好的索引用于優(yōu)化查詢;聯(lián)合索引,只能按從左到右的順序依次使用;從上邊可以看到結(jié)合索引,也可以叫多列索引,形如 key (‘B1′,’B2′,’B3′ ,’B4’)等的,排序的思路通常為,先按照B1來排序,B1相同,然后按照B2排序,以此類推,這樣對于(B1),(B1,B2), (B1,B2,B3)的索引都是有效的,可是對于(B2,B3)這樣的索引就無效了。

根據(jù)這個特性就可以解決問題:

user_id 和 item_id 是 2 個索引,我的語句中,MySQL 選擇了 user_id,那么 item_id 的索引沒有起到任何用處,所以,當(dāng)要排序的時候,由于記錄數(shù)較多,內(nèi)存中的排序 buffer 滿了,只能 Using filesort 進(jìn)行外部排序,因此每次查詢要從磁盤讀取幾十 M 的數(shù)據(jù),速度很慢。

修改表結(jié)構(gòu),刪除 user_id 和 item_id 的 INDEX 索引,建立一個名為 user_item 的聯(lián)合 UNIQUE 索引,順序是先 user_id 后 item_id,再 EXPLAIN,這回只有 Using where 了。

延伸閱讀1:MySQL版本介紹

針對不同的用戶,MySQL分為兩個不同的版本:

MySQL Community Server(社區(qū)版):該版本完全免費(fèi),但是官方不提供技術(shù)支持。用戶可以自由下載使用。MySQL Enterprise Server(企業(yè)版服務(wù)器):為企業(yè)提供數(shù)據(jù)庫應(yīng)用,支持ACID事務(wù)處理,提供完整的提交、回滾、崩潰恢復(fù)和行政鎖定功能。需要付費(fèi)使用,官方提供技術(shù)支持。
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費(fèi)領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
MySQL中的MyISAM讀的效率高,InnoDB寫的效率高,原理是什么?

一、MySQL中的MyISAM讀的效率高,InnoDB寫的效率高,原理是什么1、MyISAM存儲引擎采用表格鎖MyISAM 存儲引擎采用了一種稱為“表格鎖”(Table-l...詳情>>

2023-10-13 06:31:35
訪問網(wǎng)頁的背后發(fā)生了什么?

一、域名解析當(dāng)我們在瀏覽器中輸入網(wǎng)頁的域名時,首先需要進(jìn)行域名解析。瀏覽器會將域名發(fā)送給本地域名服務(wù)器(DNS),以獲取對應(yīng)的IP地址。如...詳情>>

2023-10-13 06:04:09
外企銀行一般用什么linux版本系統(tǒng)和數(shù)據(jù)庫呢?

一、外企銀行一般用什么linux版本系統(tǒng)和數(shù)據(jù)庫Linux有非常多的發(fā)行版本,從性質(zhì)上劃分,大體分為由商業(yè)公司維護(hù)的商業(yè)版本與由開源社區(qū)維護(hù)的免...詳情>>

2023-10-13 05:50:44
為什么Python開發(fā)世界持續(xù)被Django統(tǒng)治那么久?

一、全功能的Web框架Django是一個全功能的Web框架,它提供了許多開箱即用的功能和組件,包括路由系統(tǒng)、模板引擎、ORM(對象關(guān)系映射)工具、表...詳情>>

2023-10-13 05:41:39
Binder到底是什么?

一、Binder的定義Binder是Android系統(tǒng)中的一種進(jìn)程間通信(IPC)機(jī)制,用于不同進(jìn)程間的數(shù)據(jù)傳遞和通信。它通過跨進(jìn)程的方法調(diào)用,允許一個進(jìn)程...詳情>>

2023-10-13 05:40:00
快速通道
国产一区二区福利久久| 欧美激情在线精品video| 二级片在线观看| 久久国产影院| 亚欧乱色一区二区三区| 久久99爰这里有精品国产| 亚飞与亚基在线观看| 国产综合成人观看在线| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美日本免费| 国产综合成人观看在线| 四虎影视库国产精品一区| 欧美大片a一级毛片视频| 国产一区二区精品久| 精品视频在线观看免费| 日本伦理黄色大片在线观看网站| 可以免费看污视频的网站| 成人免费网站久久久| 亚洲第一页乱| 九九精品影院| 国产不卡精品一区二区三区| 99色视频在线| 国产精品123| 国产精品自拍在线观看| 久久国产影院| 日韩在线观看视频黄| 韩国毛片免费| 99色吧| 亚洲女初尝黑人巨高清在线观看| 夜夜操网| 欧美1卡一卡二卡三新区| 成人免费网站久久久| 麻豆网站在线免费观看| 可以免费在线看黄的网站| 天天色成人| 99久久精品费精品国产一区二区| 日本免费看视频| 日韩字幕在线| 欧美一区二区三区性| 色综合久久天天综合绕观看| 中文字幕一区二区三区精彩视频| 国产原创中文字幕| 青青青草影院| 青草国产在线观看| 尤物视频网站在线观看| 日韩女人做爰大片| 亚洲精品久久久中文字| 精品视频在线观看视频免费视频 | 色综合久久天天综合观看| 欧美激情在线精品video| 欧美激情在线精品video| 91麻豆国产| 久草免费在线色站| 国产a视频| 999精品在线| 欧美激情在线精品video| 色综合久久天天综合绕观看| 亚洲精品影院久久久久久| 99久久精品国产免费| 午夜家庭影院| 国产一级强片在线观看| 精品国产一区二区三区国产馆| 国产一区二区精品久| 亚州视频一区二区| 久久久久久久久综合影视网| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 天天做人人爱夜夜爽2020| 天天做人人爱夜夜爽2020| 欧美一区二区三区在线观看| 欧美另类videosbestsex高清| 国产激情一区二区三区| 国产a网| 国产激情一区二区三区| 欧美国产日韩在线| 国产高清视频免费| 国产一区免费观看| 亚洲女人国产香蕉久久精品| 精品在线观看一区| 日本久久久久久久 97久久精品一区二区三区 狠狠色噜噜狠狠狠狠97 日日干综合 五月天婷婷在线观看高清 九色福利视频 | 国产a视频| 99久久精品国产片| 日韩中文字幕在线播放| 国产视频久久久久| 久久久久久久男人的天堂| 97视频免费在线| 日韩av东京社区男人的天堂| 久久精品免视看国产成人2021| 国产欧美精品| 国产成人精品影视| 精品久久久久久中文字幕2017| 精品视频在线观看一区二区| 日韩中文字幕一区| 亚洲 男人 天堂| 精品久久久久久中文字幕2017| 91麻豆精品国产自产在线| 欧美国产日韩在线| 精品国产亚一区二区三区| a级毛片免费观看网站| 日韩中文字幕在线亚洲一区| 欧美大片a一级毛片视频| 国产麻豆精品hdvideoss| 欧美电影免费| 亚洲 国产精品 日韩| 在线观看导航| 国产91素人搭讪系列天堂| 黄视频网站免费看| 国产不卡在线看| 亚洲 欧美 91| 国产91精品系列在线观看| 亚洲精品影院一区二区| 国产a免费观看| 九九精品久久久久久久久| 亚洲wwwwww| 九九热国产视频| 国产不卡在线看| 精品国产三级a| 你懂的福利视频| 久久精品店| 青草国产在线观看| 欧美日本免费| 亚洲天堂免费| 国产网站免费观看| 亚洲天堂免费| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 黄色免费网站在线| 精品国产一区二区三区国产馆| 91麻豆精品国产自产在线观看一区 | 精品国产一区二区三区精东影业| 日韩中文字幕在线亚洲一区| 99热热久久| 日韩一级黄色| 国产麻豆精品视频| 亚欧成人毛片一区二区三区四区| 午夜久久网| 青青久热| 欧美国产日韩在线| 青青久热| 天天色色网| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品国产三级a| 四虎久久影院| 国产成人啪精品| 91麻豆国产| 久久成人亚洲| 国产亚洲免费观看| 国产精品12| 999精品影视在线观看| 久草免费资源| 精品在线免费播放| 99久久精品国产免费| 美女免费毛片| 亚洲天堂一区二区三区四区| 精品久久久久久中文字幕2017| 日韩欧美一及在线播放| 精品视频在线观看免费| 成人免费福利片在线观看| 一级女性大黄生活片免费| 午夜在线观看视频免费 成人| 可以免费看毛片的网站| 欧美激情一区二区三区视频高清| 欧美另类videosbestsex久久| 91麻豆国产| 成人a大片高清在线观看| 精品国产三级a| 国产伦久视频免费观看视频| 国产91素人搭讪系列天堂| 精品国产亚一区二区三区| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 国产a视频| 欧美激情一区二区三区在线播放| 久久成人性色生活片| 九九精品久久久久久久久| 成人免费观看男女羞羞视频| 国产一级生活片| 日日夜夜婷婷| 中文字幕97| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 精品视频一区二区三区免费| 成人免费观看男女羞羞视频| 毛片的网站| 欧美1区| 一级毛片视频播放| 国产成人精品影视| 欧美另类videosbestsex视频 | 国产原创中文字幕| 国产麻豆精品免费视频| 高清一级做a爱过程不卡视频| 99色视频在线观看| 在线观看成人网 | 国产一区二区精品尤物| 99热精品在线| 国产不卡福利| 久久国产精品自线拍免费| 日韩男人天堂| 欧美激情影院| 韩国毛片| 国产一区二区精品久| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 欧美大片a一级毛片视频| 国产视频一区二区三区四区|