Mysql中強(qiáng)制索引的具體使用
強(qiáng)制索引
強(qiáng)制索引,即指定本次查詢使用某個特定的索引,這樣就可避免MySQL優(yōu)化器使用低效的索引或者走全表掃描放棄使用索引。
(Mysql的優(yōu)化器并不完全可靠~)
使用
sql查詢語句中加上force index(索引名)
select * from salaries force index(idx_emp_no ) where emp_no=10005
題外話
- 忽略索引
select * from 表名 ignore index(索引名) where …
- 關(guān)閉緩存
select SQL_NO_CACHE * from 表名
- 強(qiáng)制緩存
select SQL_CACHE * from 表名 ignore index(索引名) where …
- 優(yōu)先操作 HIGH_PRIORITY
- 滯后操作 LOW_PRIORITY
- 延時插入 INSERT DELAYED
- 強(qiáng)制連接順序 STRAIGHT_JOIN
- 強(qiáng)制使用臨時表 SQL_BUFFER_RESULT
- 分組使用臨時表 SQL_BIG_RESULT和SQL_SMALL_RESULT
哪些情況適合建立索引
1、 頻繁作為where條件語句查詢的字段
2、關(guān)聯(lián)字段需要建立索引,例如外鍵字段,student表中的classid, classes表中的schoolid 等
3、 排序字段可以建立索引
4、 分組字段可以建立索引,因為分組的前提是排序
5、統(tǒng)計字段可以建立索引,例如count(),max()
哪些情況不適合建立索引
- 頻繁更新的字段不適合建立索引
- where條件中用不到的字段不適合建立索引
- 表數(shù)據(jù)可以確定比較少的不需要建索引
- 數(shù)據(jù)重復(fù)且發(fā)布比較均勻的的字段不適合建索引(唯一性太差的字段不適合建立索引),例如性別,真假值
- 參與列計算的列不適合建索引
到此這篇關(guān)于Mysql中強(qiáng)制索引的具體使用的文章就介紹到這了,更多相關(guān)Mysql 強(qiáng)制索引內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql 5.7.18 zip版安裝配置方法圖文教程(win7)
這篇文章主要為大家詳細(xì)介紹了win7下mysql 5.7.8 zip版安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-08-08調(diào)用MySQL中數(shù)據(jù)庫元數(shù)據(jù)的方法
這篇文章主要介紹了調(diào)用MySQL中數(shù)據(jù)庫元數(shù)據(jù)的方法,文中給出了了PHP和Perl腳本下的調(diào)用示例,需要的朋友可以參考下2015-05-05CentOS7下mysql 8.0.16 安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了CentOS7下mysql 8.0.16 安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-05-05phpstudy無法啟動MySQL數(shù)據(jù)庫解決方法
這篇文章主要給大家介紹了關(guān)于phpstudy無法啟動MySQL數(shù)據(jù)庫的解決方法,文中通過圖文將解決的辦法介紹的非常詳細(xì),對同樣遇到這個問題的同學(xué)具有一定的參考借鑒價值,需要的朋友可以參考下2024-05-05關(guān)于Mysql5.7及8.0版本索引失效情況匯總
這篇文章主要介紹了關(guān)于Mysql5.7及8.0版本索引失效情況匯總,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-08-08