MYSQL索引無效和索引有效的詳細(xì)介紹
更新時間:2013年05月22日 11:29:24 作者:
MYSQL索引無效和索引有效的詳細(xì)介紹,需要的朋友可以參考一下
1、WHERE字句的查詢條件里有不等于號(WHERE column!=...),MYSQL將無法使用索引
2、類似地,如果WHERE字句的查詢條件里使用了函數(shù)(如:WHERE DAY(column)=...),MYSQL將無法使用索引
3、在JOIN操作中(需要從多個數(shù)據(jù)表提取數(shù)據(jù)時),MYSQL只有在主鍵和外鍵的數(shù)據(jù)類型相同時才能使用索引,否則即使建立了
索引也不會使用
4、如果WHERE子句的查詢條件里使用了比較操作符LIKE和REGEXP,MYSQL只有在搜索模板的第一個字符不是通配符的情況下才能
使用索引。比如說,如果查詢條件是LIKE 'abc%',MYSQL將使用索引;如果條件是LIKE '%abc',MYSQL將不使用索引。
5、在ORDER BY操作中,MYSQL只有在排序條件不是一個查詢條件表達(dá)式的情況下才使用索引。盡管如此,在涉及多個數(shù)據(jù)表的查
詢里,即使有索引可用,那些索引在加快ORDER BY操作方面也沒什么作用。
6、如果某個數(shù)據(jù)列里包含著許多重復(fù)的值,就算為它建立了索引也不會有很好的效果。比如說,如果某個數(shù)據(jù)列里包含了凈是
些諸如“0/1”或“Y/N”等值,就沒有必要為它創(chuàng)建一個索引。
7、索引有用的情況下就太多了?;局灰⒘怂饕松厦嫣岬降乃饕粫褂玫那闆r下之外,其他情況只要是使用在
WHERE條件里,ORDER BY 字段,聯(lián)表字段,一般都是有效的。 建立索引要的就是有效果。 不然還用它干嗎? 如果不能確定在
某個字段上建立的索引是否有效果,只要實際進行測試下比較下執(zhí)行時間就知道。
2、類似地,如果WHERE字句的查詢條件里使用了函數(shù)(如:WHERE DAY(column)=...),MYSQL將無法使用索引
3、在JOIN操作中(需要從多個數(shù)據(jù)表提取數(shù)據(jù)時),MYSQL只有在主鍵和外鍵的數(shù)據(jù)類型相同時才能使用索引,否則即使建立了
索引也不會使用
4、如果WHERE子句的查詢條件里使用了比較操作符LIKE和REGEXP,MYSQL只有在搜索模板的第一個字符不是通配符的情況下才能
使用索引。比如說,如果查詢條件是LIKE 'abc%',MYSQL將使用索引;如果條件是LIKE '%abc',MYSQL將不使用索引。
5、在ORDER BY操作中,MYSQL只有在排序條件不是一個查詢條件表達(dá)式的情況下才使用索引。盡管如此,在涉及多個數(shù)據(jù)表的查
詢里,即使有索引可用,那些索引在加快ORDER BY操作方面也沒什么作用。
6、如果某個數(shù)據(jù)列里包含著許多重復(fù)的值,就算為它建立了索引也不會有很好的效果。比如說,如果某個數(shù)據(jù)列里包含了凈是
些諸如“0/1”或“Y/N”等值,就沒有必要為它創(chuàng)建一個索引。
7、索引有用的情況下就太多了?;局灰⒘怂饕松厦嫣岬降乃饕粫褂玫那闆r下之外,其他情況只要是使用在
WHERE條件里,ORDER BY 字段,聯(lián)表字段,一般都是有效的。 建立索引要的就是有效果。 不然還用它干嗎? 如果不能確定在
某個字段上建立的索引是否有效果,只要實際進行測試下比較下執(zhí)行時間就知道。
您可能感興趣的文章:
- mysql 添加索引 mysql 如何創(chuàng)建索引
- MySQL索引類型總結(jié)和使用技巧以及注意事項
- MySQL查看、創(chuàng)建和刪除索引的方法
- MySQL 創(chuàng)建索引(Create Index)的方法和語法結(jié)構(gòu)及例子
- 解決MySQL中IN子查詢會導(dǎo)致無法使用索引問題
- mysql性能優(yōu)化之索引優(yōu)化
- Mysql索引會失效的幾種情況分析
- MySQL 主鍵與索引的聯(lián)系與區(qū)別分析
- 深入淺析Mysql聯(lián)合索引最左匹配原則
- MySQL 索引分析和優(yōu)化
- MySQL索引的原理與性能優(yōu)化設(shè)計教程(圖文代碼)
相關(guān)文章
Centos7 如何部署MySQL8.0.30數(shù)據(jù)庫
這篇文章主要介紹了Centos7 如何部署MySQL8.0.30數(shù)據(jù)庫,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),感興趣的朋友一起看看吧2024-05-05
CentOS系統(tǒng)下編譯安裝MySQL以及設(shè)置相關(guān)yum源的教程
這篇文章主要介紹了CentOS系統(tǒng)下編譯安裝MySQL以及設(shè)置相關(guān)yum源的教程,使用RedHat系的Linux系統(tǒng)為環(huán)境的都可以借鑒,需要的朋友可以參考下2015-12-12
MySQL 分組函數(shù)全面詳解與最佳實踐(最新整理)
本文系統(tǒng)講解MySQL分組函數(shù)的核心用法、十大注意事項(如NULL處理、分組字段選擇等)、高級技巧(多級分組、排名計算)及性能優(yōu)化方案,結(jié)合銷售分析案例,提供分組查詢的實踐指南與常見陷阱規(guī)避建議,感興趣的朋友一起看看吧2025-06-06
在OneProxy的基礎(chǔ)上實行MySQL讀寫分離與負(fù)載均衡
基于Libevent機制實現(xiàn),單個實例可以實現(xiàn)25萬的SQL轉(zhuǎn)發(fā)能力,用一個OneProxy節(jié)點可以帶動整個MySQL集群,為業(yè)務(wù)發(fā)展貢獻(xiàn)一份力量,下面由小編來為大家簡單說說2019-05-05
如何使用mysql語句進行多表聯(lián)查(以三個表為例)
這篇文章主要介紹了如何使用mysql語句進行多表聯(lián)查(以三個表為例),具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-08-08
mysql 數(shù)據(jù)庫鏈接狀態(tài)確認(rèn)實驗(推薦)
這篇文章主要介紹了mysql 數(shù)據(jù)庫鏈接狀態(tài)確認(rèn)實驗,通過本文我選擇 了三種方案給大家詳細(xì)講解,結(jié)合實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09

