瀏覽量:68次
1、表的主鍵、外鍵必須有索引;
2、經(jīng)常與其他表進(jìn)行連接的表,在連接字段上應(yīng)該建立索引;
3、選擇唯一性索引;
唯一性索引unique index和一般索引normal index最大的差異就是在索引列上增加了一層唯一約束。
4、對(duì)于查詢頻率高的字段創(chuàng)建索引;
5、對(duì)排序、分組、聯(lián)合查詢頻率高的字段創(chuàng)建索引;
6、盡量使用前綴來(lái)索引;
前綴索引是MySQL中的一個(gè)概念,在SQL Server和Oracle中沒(méi)提出這個(gè)概念。前綴索引就是對(duì)文本的前幾個(gè)字符(具體是幾個(gè)字符在建立索引時(shí)指定)建立索引,這樣建立起來(lái)的索引更小,所以查詢更快。前綴索引能有效減小索引文件的大小,提高索引的速度,但是前綴索引也有它的壞處:MySQL 不能在 ORDER BY 或 GROUP BY 中使用前綴索引,也不能把它們用作覆蓋索引(Covering Index)。
7、索引應(yīng)該建在選擇性高的字段上,在選擇性低的字段上不必要建立索引,如:性別字段;
8、索引應(yīng)該建在小字段上,對(duì)于大的文本字段甚至超長(zhǎng)字段,不要建索引;
9、索引列不能參與計(jì)算,保持列“干凈”;
10、對(duì)于定義為 text、image 和 bit 的數(shù)據(jù)類(lèi)型的列不要建立索引;
11、若在實(shí)際中,需要將多個(gè)列設(shè)置索引時(shí),可以采用多列索引;
12、一個(gè)表的索引的數(shù)目不宜太多;
13、刪除不再使用或者很少使用的索引,避免對(duì)執(zhí)行計(jì)劃造成負(fù)面影響;
MySQL什么時(shí)候不走索引?主要3種情況:1、不滿足走索引的條件,常見(jiàn)的情況有
1.1、不滿足最左匹配原則(索引的底層是一顆B 樹(shù),最左優(yōu)先,以最左邊的為起點(diǎn)任何連續(xù)的索引都能匹配上,同時(shí)遇到范圍查詢(>、<、between、like)就會(huì)停止匹配。);
官網(wǎng)優(yōu)化
整站優(yōu)化
渠道代理
400-655-5776