精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

小说区图片区亚洲| а√天堂中文在线资源bt在线| 欧美日韩在线大尺度| 亚洲国内精品视频| 一区二区三区国产免费| 福利视频在线| 久久影视一区二区| 91在线观看免费高清| 国产黄色片视频| 青青草国产成人a∨下载安卓| 日韩亚洲欧美成人一区| 99精品视频在线看| 亚洲奶水xxxx哺乳期| 久久久av毛片精品| 亚洲综合精品一区二区| 日韩综合在线观看| 亚洲午夜在线| 在线亚洲欧美视频| 日本在线不卡一区二区| 欧美综合影院| 欧美午夜性色大片在线观看| 在线视频欧美一区| 免费在线黄色网址| 成人深夜福利app| 国产日韩欧美日韩| 久久精品视频1| 欧美女激情福利| 中文字幕精品网| yy6080午夜| 日韩福利影视 | 无码任你躁久久久久久久| 欧美在线亚洲| 色青青草原桃花久久综合| jizz欧美性20| 国内精品麻豆美女在线播放视频| 欧美区一区二区三区| 黑森林福利视频导航| 丁香高清在线观看完整电影视频 | 国产精品123区| 国产精品亚洲自拍| 亚洲av无码乱码国产精品fc2| 亚洲九九精品| 欧美劲爆第一页| 欧美成人aaa片一区国产精品| 成人一区二区| 国产亚洲欧洲高清一区| 女~淫辱の触手3d动漫| 精品视频自拍| 亚洲国产成人久久综合| 亚洲国产精品第一页| 亚洲一级大片| 日韩欧美一区二区不卡| 伊人精品视频在线观看| 成人午夜888| 欧美一区二区三区播放老司机| 伊人网在线综合| 国产伊人久久| 在线亚洲一区观看| 我看黄色一级片| 在线精品亚洲欧美日韩国产| 欧美性高潮在线| 午夜精品久久久内射近拍高清| 天堂中文在线播放| 欧美日韩综合视频网址| 日韩中文字幕二区| av久久网站| 欧美日本一区二区在线观看| 亚洲免费999| 亚洲精品在线播放| 欧美tickling挠脚心丨vk| av漫画在线观看| 婷婷成人在线| 在线播放日韩专区| 日韩三级久久久| 欧美日韩四区| 91精品国产成人www| 日韩美一区二区| 免费美女久久99| 成人在线视频网站| 国产综合视频在线| 久久综合999| 亚洲综合第一| 日本色护士高潮视频在线观看| 亚洲国产精品视频| 日本在线观看a| 四虎精品在线观看| 亚洲丁香久久久| 妺妺窝人体色WWW精品| 色琪琪久久se色| 欧美激情乱人伦一区| 黄色片视频免费| 韩国女主播成人在线| 国产伦精品一区二区三区四区免费 | 国产麻豆视频在线观看| 在线成人欧美| 国产精品www网站| www.黄色av| 久久日韩粉嫩一区二区三区 | 蜜桃视频在线观看www社区 | 欧美极品欧美精品欧美视频 | 成人高潮aa毛片免费| 欧美视频在线观看免费| 黄色小视频免费网站| 欧美久久香蕉| 理论片在线不卡免费观看| 天堂在线免费观看视频| 精品一区二区三区欧美| 久久精品综合一区| 性欧美video高清bbw| 日韩欧美中文字幕在线观看| 国产精品熟女一区二区不卡| 精品国产网站| 国产91成人在在线播放| 99热这里只有精品在线| 国产亚洲精品aa午夜观看| 日韩精品久久一区二区| 久久夜夜久久| 国产午夜精品理论片a级探花| 成人免费视频网站入口::| 久久婷婷一区| 国产欧美日韩一区二区三区| 国产在线更新| 欧美色男人天堂| 国产精品815.cc红桃| 亚洲国产mv| 亚洲在线www| 青青青青在线| 在线观看日韩精品| 精品国产无码在线观看| 伊人天天综合| 国产精品毛片一区视频| 亚洲精品天堂| 欧美大胆人体bbbb| 日本黄色片免费观看| 麻豆国产精品视频| 视频一区视频二区视频三区高| 一区二区精品伦理...| 精品福利在线导航| 国产黄色片视频| 国产成a人亚洲| www.99riav| 九色精品蝌蚪| 欧美精品免费看| 国产精品一级二级| 一区视频在线播放| 午夜精品免费看| 91九色精品国产一区二区| 国产欧美日韩免费| 精品国产丝袜高跟鞋| 欧美日本免费一区二区三区| 日本免费www| 蜜臀久久久99精品久久久久久| 日韩精品一区二区三区丰满| 日韩网站中文字幕| 尤物tv国产一区| 亚洲精品久久久久久久蜜桃| 国产喷白浆一区二区三区| 人妻丰满熟妇av无码区app| 免费欧美视频| 国产精品福利在线观看| 欧美猛烈性xbxbxbxb| 555夜色666亚洲国产免| 国产乱国产乱老熟300| 丁香六月综合激情| 欧美丰满熟妇bbbbbb百度| 在线成人动漫av| 国产精品99久久久久久久久| 在线免费观看黄色| 欧美一区二区三区在| 欧美极品aaaaabbbbb| av在线播放一区二区三区| 成人在线观看你懂的| 中日韩免视频上线全都免费| 国产精品久久久久久久久免费看 | 污污的视频免费| 亚洲欧洲日韩| 国产九色精品| 国产精品高清乱码在线观看| 久久精品99无色码中文字幕 | 日韩精品久久久久久免费| 国产日韩欧美一区二区三区综合| 色婷婷一区二区三区av免费看| 欧美xxx在线观看| 久久大香伊蕉在人线观看热2| 午夜欧美巨大性欧美巨大| 久久精品国产亚洲一区二区| 国产 日韩 欧美 精品| 色综合久久九月婷婷色综合| 人妻无码一区二区三区免费| 国产精品18久久久久久久久| 欧美 国产 小说 另类| 亚洲mv大片欧洲mv大片| 韩国成人av| 四虎精品在线观看| 97精品国产97久久久久久免费 | 亚洲91精品在线观看| 成人网视频在线观看| 日韩精品在线网站| 成年人视频免费| 亚洲国产一区二区a毛片| 熟女少妇内射日韩亚洲| 国产电影一区在线| 日韩中文字幕免费在线| 国产精品啊啊啊| 午夜精品一区二区三区在线观看 | 久久 天天综合| 欧美日韩在线一| 亚洲欧美网站在线观看| 日韩成人av网站| swag国产精品一区二区| 国产精品久久久久一区二区| free性m.freesex欧美| 久久精品国产综合| 精品视频一二三| 亚洲国产精品免费| 99在线精品视频免费观看软件| 91高清视频免费看| 日韩精品一卡二卡| 一区二区三区四区乱视频| 亚洲女同二女同志奶水| 91一区二区三区在线播放| 久久久久无码国产精品一区李宗瑞| 日本不卡中文字幕| 99色精品视频| 亚洲精一区二区三区| 成人免费在线视频播放| 四虎成人精品永久免费av九九| 欧美午夜免费| 美日韩黄色大片| 国产精品一区视频网站| 久久伦理中文字幕| 国产中文字幕亚洲| 国产成人福利夜色影视| 国产极品精品在线观看| 韩国成人动漫| 91tv亚洲精品香蕉国产一区7ujn| 日本乱理伦在线| 欧美日韩国产成人在线| 中文字幕在线观看网站| 欧美成人sm免费视频| 日本电影在线观看网站| 色婷婷综合成人av| 在线观看免费版| 日韩中文字幕亚洲| 黄色在线免费| 欧美成人免费一级人片100| 快射av在线播放一区| 久久精品国产成人| 黄色精品在线观看| 久久伊人精品天天| 一区二区三区伦理| 久久久久久久一| eeuss鲁一区二区三区| 97色在线播放视频| 一本大道色婷婷在线| 日本成熟性欧美| 最新日韩一区| 成人a免费视频| 国产一区二区三区免费在线| 亚洲综合精品一区二区| 成人av综合网| 久久久久久草| 国产永久精品大片wwwapp| 亚洲看片网站| 久久久国产精品| 91成人综合网| 先锋影音久久久| 九九九在线观看视频| 精品在线你懂的| 91精品人妻一区二区三区蜜桃2| 成人免费福利片| 国产精品免费无码| 亚洲欧洲美洲综合色网| 亚洲精品在线观看av| 色婷婷一区二区三区四区| 一区不卡在线观看| 精品国产a毛片| yw在线观看| 欧美刺激性大交免费视频| 三级在线看中文字幕完整版| 国产精品久久久久久网站| 视频一区国产| 日本精品二区| 午夜精品久久久久99热蜜桃导演 | 激情欧美一区二区三区在线观看| 国产又粗又猛又爽又黄| 91美女片黄在线观看| 亚洲欧美综合7777色婷婷| 亚洲国产精品自拍| 中国老头性行为xxxx| 日韩欧美一区二区视频| 国产免费a∨片在线观看不卡| 久久精彩免费视频| 欧美日韩国产观看视频| 成人妇女免费播放久久久| 日本欧美高清| 国产高清免费在线| 亚洲欧美清纯在线制服| www.五月天色| 久久久久久夜精品精品免费| 校园春色 亚洲| 欧美在线观看视频在线| 天堂中文在线资源| 久青草国产97香蕉在线视频| 九九热线视频只有这里最精品| 亚洲在线第一页| 日本不卡二三区| 久久美女福利视频| 国产69精品久久久久毛片| 国产精品情侣呻吟对白视频| 亚洲成a人片在线观看中文| 一级黄色片在线播放| 国产婷婷97碰碰久久人人蜜臀| 欧洲性视频在线播放| 国产精品一久久香蕉国产线看观看| 久久亚州av| 免费cad大片在线观看| 蜜臀久久99精品久久久久久9| 无套内谢大学处破女www小说| 亚洲一级二级在线| 国产男女猛烈无遮挡| 永久555www成人免费| 成人免费短视频| 国产专区一区二区| 精品动漫av| 午夜福利三级理论电影| 亚洲日本青草视频在线怡红院| 中文在线观看av| 亚洲色图美腿丝袜| 竹内纱里奈兽皇系列在线观看| av资源一区二区| 欧美国产免费| 国产成人强伦免费视频网站| 国产精品成人网| 91久久国语露脸精品国产高跟| 亚洲午夜av久久乱码| 欧美成人精品一区二区男人小说| 国产区一区二区三区| 1024精品一区二区三区| 中国免费黄色片| 亚洲图片欧美一区| 好吊视频一二三区| 国模视频一区二区| 国产精品17p| 男人天堂av片| 波多野结衣亚洲一区| 精品少妇久久久| 亚洲成人a**站| 天天综合av| 日本在线一区| 麻豆精品视频在线| 三级av在线免费观看| 日韩美女视频一区二区在线观看| 污片视频在线免费观看| 国产另类自拍| 亚洲欧美日韩在线观看a三区 | 人人妻人人澡人人爽精品日本| 欧美精品videos| 日韩大尺度在线观看| 国产a级片免费观看| 国产精品视频一二三区| 91一区二区视频| 欧美第一淫aaasss性| 米奇精品关键词| 亚洲爆乳无码专区| 中文字幕精品一区二区精品绿巨人| 一炮成瘾1v1高h| 欧美精品激情blacked18| 欧美亚视频在线中文字幕免费| 人妻有码中文字幕| 国产精品对白交换视频| www.国产视频| 日本高清不卡的在线| 日韩精品不卡一区二区| 日本少妇一区二区三区| 五月婷婷激情综合网| 国产精品久久久久久久龚玥菲 | 亚洲情趣在线观看| 嫩草影院一区二区| 国产不卡av在线免费观看| 国产精品88久久久久久| 91超薄肉色丝袜交足高跟凉鞋| 欧美性少妇18aaaa视频| 免费黄色网址在线观看| 国产伦一区二区三区色一情| 肉肉av福利一精品导航| 欧美日韩免费一区二区| 亚洲精品视频在线观看视频| 五月天色综合| 国产午夜大地久久| 国产精品短视频| 亚洲色图狠狠干| 亚洲free性xxxx护士hd| 亚洲女同在线| 日韩视频中文字幕在线观看| 亚洲天堂av在线免费观看| 美女国产精品久久久| 能看的毛片网站| 亚洲一区欧美一区| 成年人视频在线观看免费|