《MySql學(xué)習(xí):索引需要這樣優(yōu)化》要點(diǎn):
本文介紹了MySql學(xué)習(xí):索引需要這樣優(yōu)化,希望對您有用。如果有疑問,可以聯(lián)系我們。
寫在前面:索引對查詢的速度有著至關(guān)重要的影響,理解索引也是進(jìn)行數(shù)據(jù)庫性能調(diào)優(yōu)的出發(fā)點(diǎn).
1、全值匹配
在創(chuàng)立索引時,查詢(排序)字段的個數(shù)和索引個數(shù)相匹配為最佳.
2、最佳左前綴法則:查詢從索引的最左前列開始而且不跳過索引中的列.
3、不在索引列上做任何操作(計算、函數(shù)、(自動or手動)類型轉(zhuǎn)換),不然會導(dǎo)致索引失效而轉(zhuǎn)向全表掃描.
4、儲存引擎不克不及使用索引中范圍條件右邊的列,即當(dāng)where查詢出現(xiàn)范圍查詢時,范圍查詢的后面字段無法使用索引.
5、盡量使用覆蓋索引(只拜訪索引的查詢(索引列和查詢列一致)),減少“select *“的使用.
6、MySQL在使用不等于(!=或者<>)的時候,無法使用索引導(dǎo)致全表掃描.
7、is null,is not null 也會導(dǎo)致索引失效.
8、like以通配符開頭(‘%abc’)會導(dǎo)致索引失效,如果可以最好百分號%在右側(cè)(‘a(chǎn)bc%’).
9、字符串必需加單(雙)引號,否則數(shù)據(jù)庫會進(jìn)行類型轉(zhuǎn)換(如數(shù)據(jù)類型為varchar,而查詢時輸入的為數(shù)字.查詢時數(shù)據(jù)庫會先將int轉(zhuǎn)換成varchar)導(dǎo)致數(shù)據(jù)庫失效.
10、罕用or,用他來連接時會導(dǎo)致索引失效.
11、案例總結(jié)
案例總結(jié)
【優(yōu)化總結(jié)口訣】
全只匹配我最愛,最左前綴要遵守;
帶頭大哥不克不及死,中間兄弟不克不及斷;
索引列上少計算,規(guī)模之后全失效;
LIKE百分寫最右,籠罩索引不寫星;
不等空值還有or,索引失效要罕用;
《MySql學(xué)習(xí):索引需要這樣優(yōu)化》是否對您有啟發(fā),歡迎查看更多與《MySql學(xué)習(xí):索引需要這樣優(yōu)化》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/7828.html