您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關(guān)MySQL中怎么使用索引,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
MySQL何時(shí)使用索引
對(duì)一個(gè)鍵碼使用>,>=,=,<,<=,ifnull和between fromtable_namewherekey_part1="1andkey_part2">5;SELECT*FROMtable_nameWHEREkey_part1ISNULL;
當(dāng)使用不以通配符開始的LIKE
SELECT*FROMtable_nameWHEREkey_part1LIKE'jani%'
在進(jìn)行聯(lián)結(jié)時(shí)從另一個(gè)表中提取行時(shí)
SELECT*fromt1,t2wheret1.col=t2.key_part
找出指定索引的MAX()或MIN()值
SELECTMIN(key_part2),MAX(key_part2)FROMtable_namewherekey_part1=10
一個(gè)鍵碼的前綴使用ORDERBY或GROUPBY
SELECT*FROMfooORDERBYkey_part1,key_part2,key_part3
在所有用在查詢中的列是鍵碼的一部分時(shí)間
SELECTkey_part3FROMtable_nameWHEREkey_part1=1
MySQL何時(shí)不使用索引
如果MySQL能估計(jì)出它將可能比掃描整張表還要快時(shí),則不使用索引。例如如果key_part1均勻分布在1和100之間,下列查詢中使用索引就不是很好:
SELECT*FROMtable_namewherekey_part1>1andkey_part1<90 如果使用HEAP表且不用=搜索所有鍵碼部分。 在HEAP表上使用ORDERBY。 如果不是用鍵碼第一部分 SELECT*FROMtable_nameWHEREkey_part2=1 如果使用以一個(gè)通配符開始的LIKE SELECT*FROMtable_nameWHEREkey_part1LIKE'%jani%' 搜索一個(gè)索引而在另一個(gè)索引上做ORDERBY SELECT*fromtable_nameWHEREkey_part1=#ORDERBYkey2
看完上述內(nèi)容,你們對(duì)MySQL中怎么使用索引有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注億速云行業(yè)資訊頻道,感謝大家的支持。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。