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

面試官:使用 MySQL 時你遇到過哪些索引失效的場景?

數據庫 MySQL
面試官:使用 MySQL 時你遇到過哪些索引失效的場景?我:MySQL 索引失效的場景有很多,我說一下我遇到的幾個場景。 先假定有一張員工表,sql 如下:

大家好,我是君哥,今天來分享一道面試題。

面試官:使用 MySQL 時你遇到過哪些索引失效的場景?

我:MySQL 索引失效的場景有很多,我說一下我遇到的幾個場景。 先假定有一張員工表,sql 如下:

CREATE TABLE`tb_staff` (
`staff_id`tinyint(3) NOTNULLCOMMENT'員工編號',
`id_no`varchar(20) DEFAULTNULLCOMMENT'員工姓名',
`name`varchar(20) DEFAULTNULLCOMMENT'員工姓名',
`email`varchar(200) DEFAULTNULLCOMMENT'郵件地址',
`age`tinyint(3) DEFAULTNULLCOMMENT'年齡',
`sex`tinyint(1) DEFAULT'0'COMMENT'性別,0:男 1:女',
`address`varchar(300) DEFAULTNULLCOMMENT'家庭住址',
`create_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPONUPDATECURRENT_TIMESTAMPCOMMENT'創建時間',
`update_time`timestampNOTNULLDEFAULTCURRENT_TIMESTAMPCOMMENT'更新時間',
  PRIMARY KEY (`staff_id`),
KEY`id_no` (`id_no`),
KEY`union_idno_name_email` (`id_no`,`name`,`email`)
) ENGINE=InnoDBDEFAULTCHARSET=utf8

1. 使用 like 語句做模糊查詢時,占位符 % 放在了最左邊。比如我們查找 id_no 以 8933 結尾的員工:

select * from tb_staff where id_no like '%8933';

雖然 id_no 字段加了索引,但上面的 SQL 因為占位符在最左邊,也不能走索引。

2. 使用 not like 語句,不能走索引。下面的 sql 使用 id_no 作為條件 ,不能走索引:

SELECT * FROM db_staff WHERE id_no NOT LIKE  '120%';

3. 使用 not in 語句時,也不能走索引。舉個例子 :

select * from tb_staff where id_no not in ('xxxx','yyyy');

4. 使用 not exists 語句時,也不能走索引。舉個例子 :再建一張專門保存 staff_id 的表 db_staff_id

SELECT * FROM db_staff f WHERE NOT EXISTS (SELECT staff_id FROM db_staff_id a WHERE a.staff_id = f.staff_id);

面試官:not in 語句一定不能走索引嗎?

我:不一定。如果 not in 后面跟的是主鍵,有可能會走索引。比如 not in 排除的值比較少,這種情況是會走索引的。

面試官:你還遇到過其他索引失效的場景嗎?

我:還有幾個場景,我再說一下: 

5. 在條件語句中使用函數、表達式或隱式轉換,比如下面的 sql:

--使用表達式 
EXPLAIN SELECT * FROM db_staff WHERE staff_id + 1 = 2;
--使用隱式轉換,數值類型轉VARCHAR
EXPLAIN SELECT * FROM db_staff WHERE id_no = 110112202409881123;

6. 使用不等于,!=,<> 時也不會走索引。

面試官:使用“不等于”條件時一定不能走索引嗎?

我:不一定,如果條件時主鍵時,也是可以走索引的。

面試官:還有其他索引失效的場景嗎?

我:我想想。。

 7. IS NOT NULL 語句也不能走索引,比如:

SELECT * FROM db_staff WHERE id_no IS NOT NULL;

8. 使用 or 語句也不能走索引,比如:

SELECT * FROM db_staff WHERE staff_id = 2 OR id_no ='4';

但如果 or 語句涉及的條件都是主鍵,也是可以走索引的:

SELECT * FROM db_staff WHERE staff_id = 2 OR staff_id =3;

面試官:or 語句有優化方法嗎?

我:可以使用 union 語句來替代,比如:

SELECT * FROM db_staff WHERE staff_id = 2 UNION SELECT * FROM db_staff WHERE id_no = '110112202409881123'

如果查詢的字段比較少,可以走覆蓋索引,前面建表語句對 id_no、name、email 三個字段 加了覆蓋索引,比如下面 sql:

SELECT id_no,NAME,email FROM db_staff WHERE id_no = '110112202409881123' OR NAME='zhangsan'

面試官:還有其他索引失效的場景嗎?

我:還有下面一個場景: 

9. 如果查詢的數據集比較大,占整個表數據量比例較大時,MySQL 可能會認為走全表掃描代價更小,所以選擇走全表掃描。這時候可以增加條件過濾減小結果集,或者強制使用索引。

SELECT * FROM db_staff FORCE INDEX(union_idno_name_email)

面試官:order by 語句有可能會讓查詢走不上索引嗎?

我:有可能。

10. order by 中的字段跟 where 條件中字段不一致時,也可能會導致索引失效。比如下面的 SQL:

SELECT id_no,NAME,email FROM db_staff WHERE id_no > '110112202409881120' ORDER BY create_time;

而且,group by 也有這個問題。但如果覆蓋索引可以包含 where 條件和 order by 中的字段,則可以走覆蓋索引。

SELECT id_no,NAME,email FROM db_staff WHERE id_no > '110112202409881120' ORDER BY email;

面試官:還有其他嗎?

我:我知道的就這些了,當然也跟數據庫的版本有一些關系。sql 是否走索引,決定因素很多,比如查詢語句、結果集等。我們寫 sql 語句時,如果表數據量比較大,最好用執行計劃 EXPLAIN 分析一下 sql 是否正確地走索引了。

面試官:執行計劃有哪些屬性呢,可以說一下嗎?

我: 我了解的屬性如下:

  • type: 訪問類型,即索引的使用方式,查詢效率從高到底依次是:system > const > eq_ref > ref > range > index > ALL;
  • key: 實際使用的索引,如果為NULL則表示未使用索引;
  • key_len:索引字段的長度,使用聯合索引時這個字段可以看到使用了聯合索引的哪些字段;
  • rows: 預計掃描行數,這個屬性值越小執行效率越高;
  • Extra: 額外信息,比如 Using where、Using filesort、Using index 。

面試官:上面 type 屬性中的 eq_ref 和 ref 能講一下嗎?

我:好的

  • eq_ref 是指每行數據都是通過主鍵或唯一索引與另一張表做 join,每次 join 只會匹配到一行數據。比如下面 sql:
SELECT f.staff_id FROM db_staff f LEFT JOIN db_staff a ON a.staff_id = f.staff_id
  • ref 是指使用普通索引(不包括唯一索引)進行查找,查詢條件可能匹配索引中的多個行。比如下面 sql:
SELECT id_no,NAME,email FROM db_staff WHERE id_no = '110112202409881120';

面試官:恭喜你,通過了。

責任編輯:武曉燕 來源: 君哥聊技術
相關推薦

2021-08-29 18:36:17

MySQL技術面試題

2020-11-08 14:38:35

JavaScript代碼開發

2024-01-05 14:20:55

MySQL索引優化器

2009-07-23 15:07:32

2022-10-17 00:04:30

索引SQL訂單

2017-07-14 09:29:45

AndroidWebview

2021-05-27 09:27:35

開發技能緩存

2011-04-26 09:22:05

SQLite

2015-08-13 10:29:12

面試面試官

2022-10-20 18:00:59

OCP模型參數

2020-10-12 09:49:14

C++ 開發代碼

2020-10-08 14:15:15

Zookeeper

2018-04-25 10:57:00

AIX報錯vios

2023-03-13 07:41:34

分頁查詢數據排序

2025-09-26 07:58:58

2024-05-29 14:34:07

2019-08-07 09:52:34

數據庫MySQLSQL

2019-10-28 14:07:29

研發管理技術

2021-04-04 22:31:26

白帽子廠商漏洞

2025-03-26 01:25:00

MySQL優化事務
點贊
收藏

51CTO技術棧公眾號

噜噜噜在线视频| 日韩av在线播放不卡| 91一区二区视频| 欧美日韩国产欧| 亚洲乱码av中文一区二区| 中文久久久久久| 欧美四级在线| 久久麻豆一区二区| 91成人伦理在线电影| 成人公开免费视频| 亚洲欧美一区在线| 在线观看亚洲区| 色综合久久五月| 亚洲国产伊人| 色久优优欧美色久优优| www.日本三级| 天堂资源在线中文| 91免费看`日韩一区二区| 亚洲一区二区三区香蕉| 黄瓜视频在线免费观看| 在线成人亚洲| 欧美另类第一页| 蜜桃av免费观看| 色综合久久中文| 日韩精品一区二区三区四区视频| 91最新在线观看| 欧美久久天堂| 一区二区免费视频| 亚洲精品日韩精品| 免费在线黄色电影| www.日韩av| 亚洲精品免费一区二区三区| 国产精品免费无遮挡无码永久视频| 精品二区久久| 欧美夫妻性视频| 日本中文在线视频| 日韩理论在线| 一区二区三区四区精品| 亚洲午夜久久久久久久久红桃| 中文在线综合| 日韩色视频在线观看| 亚洲精品乱码久久久久久动漫| 99只有精品| 日本黄色一区二区| 日本精品久久久久中文字幕| 伊人久久精品一区二区三区| 狠狠躁夜夜躁人人躁婷婷91| 亚洲中文字幕无码专区| 欧美gv在线| 欧美视频中文在线看| 国产 欧美 日韩 一区| 在线看一级片| 一区二区三区高清| 久久www视频| 中文字幕伦理免费在线视频| 玉足女爽爽91| 男人的天堂avav| av在线网页| 欧美日韩在线视频一区| 久久国产亚洲精品无码| 日韩欧美另类一区二区| 在线观看av不卡| 中文字幕av不卡在线| 成人四虎影院| 51久久夜色精品国产麻豆| 69久久精品无码一区二区| 亚洲日本视频在线| 亚洲国产精品人久久电影| 欧美丰满少妇人妻精品| 国产伦精品一区二区三区千人斩| 亚洲午夜国产成人av电影男同| 97在线观看免费视频| 欧美激情偷拍自拍| 欧美国产日本高清在线 | 视频一区 中文字幕| av影院午夜一区| 偷拍视频一区二区| av免费看在线| 欧美视频不卡中文| 中文av字幕在线观看| 国产精品极品| 亚洲图中文字幕| 美女的奶胸大爽爽大片| 日韩午夜激情| 国产精品视频中文字幕91| 国产特级aaaaaa大片| av在线不卡网| 亚洲一区二区高清视频| 2021中文字幕在线| 91成人看片片| 免费黄色a级片| 国产精品免费大片| 欧美日韩国产成人在线| 中文字幕亚洲乱码熟女1区2区| 久久精品72免费观看| 国产精品夜夜夜一区二区三区尤| 九色网友自拍视频手机在线| 亚洲精品国产第一综合99久久| 国产综合免费视频| 亚洲精品观看| 伊人男人综合视频网| 九九视频在线观看| 日本不卡一区二区| 国产精品一区二区av| 男人天堂久久久| 福利微拍一区二区| 中国老熟女重囗味hdxx| 国产一区二区三区电影在线观看| 久久久久久久久久久成人| 一区二区三区麻豆| 91在线视频播放地址| 国产人妻互换一区二区| 欧美暴力调教| 日韩成人在线观看| 国产精品白嫩白嫩大学美女| 麻豆中文一区二区| 欧美精品一区二区三区在线四季| 污污片在线免费视频| 欧美日韩免费一区二区三区| 亚洲天堂资源在线| 亚洲五月婷婷| 亚洲bt欧美bt日本bt| 日本在线观看| 在线免费精品视频| 好吊日免费视频| 亚洲精品一级| 国产成a人亚洲精| 欧美性欧美巨大黑白大战| 亚洲精品一区二区三区在线| 日韩欧美国产激情| 国产精品一区二区无码对白| 久久久国产精品| 国产精品在线看| 国产精品久久亚洲7777| 亚洲欧美激情在线观看| 中文字幕在线观看一区| 五月婷婷狠狠操| 国产不卡av一区二区| 2019av中文字幕| 蜜臀av午夜精品| 一区二区欧美精品| 国产在线a视频| 欧美日韩专区| 999热视频在线观看| 国产不卡在线| 欧美日韩免费一区二区三区| 影音先锋男人资源在线观看| 麻豆91在线播放免费| 亚洲一区二区三区乱码| 国产激情欧美| 久久精品福利视频| 91久久大香伊蕉在人线| 免费在线国产| 在线观看av不卡| 国产调教在线观看| 麻豆免费精品视频| 老司机av福利| 一级毛片精品毛片| 久久久久久国产精品美女| 人人妻人人澡人人爽精品日本 | 国产精品久久九九| 波多野结依一区| 日韩av在线影院| 欧美精品韩国精品| 欧美高清在线一区| 在线观看视频你懂得| 黄色另类av| 欧美激情专区| 成人精品动漫| 九九热这里只有精品免费看| 午夜福利理论片在线观看| 一本久久精品一区二区| 激情五月激情综合| 高清不卡在线观看av| wwwxxx黄色片| 久久精品国产亚洲夜色av网站| 成人免费网站在线| 岛国av在线网站| 亚洲网站在线观看| 国产浮力第一页| 欧美日韩性视频在线| 精品一区二区6| 国产精品一品二品| 国模杨依粉嫩蝴蝶150p| 2023国产精品久久久精品双| 国产日韩欧美一区二区| 国产香蕉久久| 久久久久中文字幕| av资源种子在线观看| 精品久久久久久久久久久院品网 | 污的网站在线观看| 亚洲欧美日韩网| 精品国产亚洲AV| 色综合婷婷久久| 深夜福利影院在线观看| 国产三级精品视频| 韩国av中国字幕| 美女视频黄免费的久久| 青青草精品视频在线| 99久久夜色精品国产亚洲1000部| 国内外成人免费视频| 久久久免费人体| 欧美在线视频观看| 特级毛片在线| 中文字幕亚洲在线| 三区在线视频| 欧美成人精品1314www| 亚洲在线视频播放| 91精品1区2区| 青青操免费在线视频| 亚洲精选视频免费看| 国产精品天天干| 99久久久免费精品国产一区二区| www.久久com| 免费在线看成人av| 97av视频在线观看| 狠狠综合久久av一区二区老牛| 一区二区成人国产精品| 欧美猛男男男激情videos| 国产在线欧美日韩| av成人app永久免费| 成人午夜激情网| 成人黄页网站视频| 国产精品高潮呻吟久久av黑人| 国产h片在线观看| 色综合久久精品亚洲国产| 日本高清视频在线播放| 永久免费毛片在线播放不卡| 欧美婷婷久久五月精品三区| 精品国产3级a| 国模私拍视频在线| 日韩欧美激情在线| av网站在线观看免费| 91麻豆精品国产自产在线观看一区| 欧美性猛交xxxx乱大交hd| 色综合天天综合色综合av| a v视频在线观看| 午夜久久久久久电影| 久久精品国产亚洲av麻豆色欲 | 成人免费毛片视频| 色综合久久久久综合99| 亚洲GV成人无码久久精品| 欧美日韩性视频| 区一区二在线观看| 色偷偷一区二区三区| 日韩精品久久久久久免费| 日韩欧美在线视频| 国产一级免费视频| 色婷婷精品大在线视频 | 日韩高清在线电影| 国产成人无码av在线播放dvd| 久久中文精品| 婷婷激情四射五月天| 卡一卡二国产精品| av在线网址导航| 国产精品99久久久久久久vr| 绯色av蜜臀vs少妇| 99国产精品国产精品毛片| 免费毛片视频网站| 国产精品女同互慰在线看| 成人涩涩小片视频日本| 亚洲综合激情小说| www成人在线| 在线观看日韩高清av| 888奇米影视| 日韩精品一区在线观看| 人妻偷人精品一区二区三区| 亚洲欧美色婷婷| 男人影院在线观看| 久久久噜久噜久久综合| 免费日韩电影| 91沈先生作品| 琪琪久久久久日韩精品| 亚洲国产午夜伦理片大全在线观看网站| 国产国产精品| 99久久国产综合精品五月天喷水| 久久久综合网| 中文字幕第一页在线视频| 成人午夜激情影院| av电影网站在线观看| 亚洲人成精品久久久久久 | 粗大黑人巨茎大战欧美成人| 久久久久久91| 电影亚洲一区| 成人免费视频网站| 成人看的视频| www精品久久| 久久黄色级2电影| 欧美激情 亚洲| 国产精品久久久久久久久免费桃花| 久久久久久av无码免费网站| 欧洲亚洲精品在线| 亚洲国产精彩视频| 国产亚洲精品美女久久久| 羞羞的视频在线观看| 国产精品成人一区| 91午夜精品| 亚洲综合视频一区| 国产亚洲在线观看| 手机在线观看日韩av| 国产日韩亚洲欧美综合| 国产精品1234区| 欧美巨大另类极品videosbest| 天天爽夜夜爽夜夜爽| 久久精品中文字幕一区| 欧美中文字幕精在线不卡| 懂色av一区二区三区在线播放| 大色综合视频网站在线播放| 国产www免费| 国产黑丝在线一区二区三区| 内射毛片内射国产夫妻| 日韩欧美黄色动漫| 丁香六月色婷婷| 久久艳片www.17c.com| 久久久成人av毛片免费观看| 精品国产乱码久久久久久88av| 最新国产精品| 色噜噜狠狠永久免费| 久久久久综合网| 伊人久久综合视频| 精品国产三级电影在线观看| free性欧美hd另类精品| 国产精品三级在线| 精品一区二区三| 欧美日韩一区二区在线免费观看| 99久久国产综合精品麻豆| 精品无码久久久久久久久| 欧美一区二区在线免费播放| eeuss影院www在线观看| 国产精品电影网站| 精品视频黄色| 青青在线视频免费| 久久久影视传媒| 无码人妻熟妇av又粗又大| 日韩精品在线视频美女| 僵尸再翻生在线观看| 精品国产乱码久久久久久久软件 | 69av视频在线播放| 丁香婷婷成人| 国产精品成人网| 午夜成人亚洲理伦片在线观看| 欧美色综合网站| 日本韩国在线视频爽| 成人免费福利视频| 天天综合网91| 免费网站在线观看黄| 亚洲欧洲成人av每日更新| 国产精品久久影视| 美女视频黄免费的亚洲男人天堂| 欧美日韩国产一区二区在线观看| 九九久久九九久久| 国产成人丝袜美腿| 亚洲天堂日韩av| 亚洲欧美成人一区二区在线电影| 亚洲一二三四| 日本一区免费看| 美女任你摸久久 | 亚洲国产精品久久艾草纯爱| 人妻91麻豆一区二区三区| 97在线观看视频国产| 国产不卡一区| 亚洲怡红院在线| 亚洲一区二区三区美女| 亚洲日本中文字幕在线| 国产成人精品日本亚洲专区61| 日韩欧美高清在线播放| 亚洲一区二区偷拍| 午夜精品久久一牛影视| 国产在线一二三区| 91免费看片网站| 激情亚洲成人| 91视频免费在观看| 欧美精品第1页| 182在线视频观看| 视频一区二区精品| 国产成人av一区二区三区在线观看| 在线观看 中文字幕| 最近2019中文字幕mv免费看| 亚洲图色一区二区三区| 日本三级免费观看| 1024国产精品| 三级理论午夜在线观看| 91精品久久久久久久久青青| 亚洲国产免费| 自拍偷拍第9页| 欧美精品一区二区蜜臀亚洲| 欧美日韩在线精品一区二区三区激情综合| 在线精品日韩| 99re6这里只有精品视频在线观看| 中文字幕+乱码+中文| 国内成人精品视频| 首页国产精品| 少妇精品一区二区| 91精品欧美综合在线观看最新 | 午夜久久99| 欧美特级黄色录像| 精品少妇一区二区三区视频免付费 | 热久久免费视频精品| 欧美午夜不卡影院在线观看完整版免费| 美女爆乳18禁www久久久久久|