新聞中心
本文主要給大家介紹MySQL索引是否可以自動使用,文章內(nèi)容都是筆者用心摘選和編輯的,具有一定的針對性,對大家的參考意義還是比較大的,下面跟筆者一起了解下mysql索引是否可以自動使用吧。
我們提供的服務(wù)有:網(wǎng)站制作、成都網(wǎng)站設(shè)計、微信公眾號開發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、泰安ssl等。為上千企事業(yè)單位解決了網(wǎng)站和推廣的問題。提供周到的售前咨詢和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的泰安網(wǎng)站制作公司
MYSQL在創(chuàng)建索引后對索引的使用方式分為兩種:其一,由數(shù)據(jù)庫的查詢優(yōu)化器自動判斷是否使用索引;其二,用戶可在寫SQL語句時強制使用索引。
MYSQL在創(chuàng)建索引后對索引的使用方式分為兩種:
1 由數(shù)據(jù)庫的查詢優(yōu)化器自動判斷是否使用索引;
2 用戶可在寫SQL語句時強制使用索引
下面就兩種索引使用方式進(jìn)行說明
第一種,自動使用索引。
數(shù)據(jù)庫在收到查詢語句后會查看where語句后面的查詢條件,同時查看在表上面有哪些索引,然后根據(jù)查詢條件和索引進(jìn)行匹配。
查詢條件和索引的匹配包括查詢字段與索引字段的匹配和查詢類型和索引類型的匹配。前者很好理解,就是查詢條件的屬性上要建有索引,后者則是說查詢條件必須能夠使用索引,比如等值判斷和范圍查詢可以使用B+樹索引,而hash索引只能適用于等值判斷。
在找到與查詢條件匹配的索引后,就是進(jìn)行代價估計來決定是否使用索引,代價估計主要根據(jù)要訪問的就數(shù)量,一般來說如果通過索引訪問的記錄數(shù)量占全表記錄數(shù)量15%以上,則不會使用索引而是使用全表掃描,因為此時使用索引的代價更大。在大多數(shù)情況下使用索引是會提高效率的。
經(jīng)過優(yōu)化器的判斷,最終會決定是否使用索引
第二種,強制使用索引,主要是通過SQL語句實現(xiàn)的
select * from table force index(PRI) limit 2;(強制使用主鍵)
select * from table force index(ziduan1_index) limit 2;(強制使用索引"ziduan1_index")
select * from table force index(PRI,ziduan1_index) limit 2;(強制使用索引"PRI和ziduan1_index")
也可以禁止索引的使用
select * from table ignore index(PRI) limit 2;(禁止使用主鍵)
select * from table ignore index(ziduan1_index) limit 2;(禁止使用索引"ziduan1_index")
select * from table ignore index(PRI,ziduan1_index) limit 2;(禁止使用索引"PRI,ziduan1_index")
看完以上關(guān)于mysql索引是否可以自動使用,很多讀者朋友肯定多少有一定的了解,如需獲取更多的行業(yè)知識信息 ,可以持續(xù)關(guān)注我們的行業(yè)資訊欄目的。
當(dāng)前標(biāo)題:mysql索引是否可以自動使用
網(wǎng)頁路徑:http://www.dlmjj.cn/article/pcpojc.html