站長資訊網
最全最豐富的資訊網站

mysql索引失效的情況有哪些

索引失效的情況:1、like查詢以“%”開頭;2、or語句前后沒有同時使用索引;3、組合索引中不是使用第一列索引;4、在索引列上使用“IS NULL”或“IS NOT NULL”操作;5、在索引字段上使用“not”,“<>”,“!=”等等。

mysql索引失效的情況有哪些

本教程操作環境:windows7系統、mysql8版本、Dell G3電腦。

索引是一種特殊的數據庫結構,由數據表中的一列或多列組合而成,可以用來快速查詢數據表中有某一特定值的記錄。本節將詳細講解索引的含義、作用和優缺點。

通過索引,查詢數據時不用讀完記錄的所有信息,而只是查詢索引列。否則,數據庫系統將讀取每條記錄的所有信息進行匹配。

可以把索引比作新華字典的音序表。例如,要查“庫”字,如果不使用音序,就需要從字典的 400 頁中逐頁來找。但是,如果提取拼音出來,構成音序表,就只需要從 10 多頁的音序表中直接查找。這樣就可以大大節省時間。

因此,使用索引可以很大程度上提高數據庫的查詢速度,還有效的提高了數據庫系統的性能。

索引查詢失效的幾個情況:

1、like 以%開頭,索引無效;當like前綴沒有%,后綴有%時,索引有效。

mysql索引失效的情況有哪些

2、or語句前后沒有同時使用索引。

當or左右查詢字段只有一個是索引,該索引失效,只有當or左右查詢字段均為索引時,才會生效

mysql索引失效的情況有哪些

mysql索引失效的情況有哪些

3、組合索引,不是使用第一列索引,索引失效。

mysql索引失效的情況有哪些

4、如果列類型是字符串,那一定要在條件中將數據使用引號引用起來,否則不使用索引

數據類型出現隱式轉化。如varchar不加單引號的話可能會自動轉換為int型,使索引無效,產生全表掃描。

mysql索引失效的情況有哪些

5、在索引列上使用 IS NULL 或 IS NOT NULL操作。

索引是不索引空值的,所以這樣的操作不能使用索引,可以用其他的辦法處理,例如:數字類型,判斷大于0,字符串類型設置一個默認值,判斷是否等于默認值即可。(此處是錯誤的!

mysql索引失效的情況有哪些

解釋以上錯誤:

此處我將重新創建一個emp表

mysql索引失效的情況有哪些

創建新的索引

mysql索引失效的情況有哪些

查看索引

mysql索引失效的情況有哪些

執行SQL語句

mysql索引失效的情況有哪些

mysql索引失效的情況有哪些

由此可發現有使用到索引

總結:在索引列上使用 IS NULL 或 IS NOT NULL操作,索引不一定失效!!!

6、在索引字段上使用not,<>,!=。

不等于操作符是永遠不會用到索引的,因此對它的處理只會產生全表掃描。 優化方法: key<>0 改為 key>0 or key<0。

mysql索引失效的情況有哪些

mysql索引失效的情況有哪些

7、對索引字段進行計算操作、字段上使用函數。(索引為 emp(ename,empno,sal))

mysql索引失效的情況有哪些

mysql索引失效的情況有哪些

8、當全表掃描速度比索引速度快時,mysql會使用全表掃描,此時索引失效。

如果mysql估計使用全表掃描要比使用索引快,則不使用索引

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
国产精品伦一区二区三级视频| 精品人妻一区二区三区四区| 538精品视频在线观看mp4| 亚洲精品无码永久在线观看你懂的| www.99精品| 日韩美女视频一区| 四虎成人国产精品视频| 国产精品国产三级国产av剧情 | 日日夜夜精品视频| 91精品国产综合久久青草| 国产精品igao视频网| 日本道免费精品一区二区| 亚洲日韩AV一区二区三区中文| 在线观看精品国产福利片100| 国产精品一级香蕉一区| 人妻AV一区二区三区精品| 国语自产少妇精品视频蜜桃| 久草这里只有精品| 亚洲国产日韩在线人成下载| 国产精品酒店视频| 亚洲色精品三区二区一区| 91精品手机国产免费| 国产精品国产三级国产普通话| 日韩精品在线观看| 国产精品成人观看视频| 日韩a级毛片免费观看| 永久免费无码日韩视频| 精品国产麻豆免费网站| 国产啪精品视频网免费| 亚洲精品在线网站| 99久久国产综合精品swag| 久久免费观看国产精品| 精品四虎免费观看国产高清午夜| 久久精品国产亚洲5555| 国产精品JIZZ在线观看老狼| 亚洲日韩国产AV无码无码精品| 国产91精品新入口| 国产精品制服丝袜| 精品伊人久久大香线蕉网站| 精品区2区3区4区产品乱码9| 国产精品视频一区麻豆|