數(shù)據(jù)庫建立索引的原則
1,確定針對該表的操作是大量的查詢操作還是大量的增刪改操作。
2,嘗試建立索引來幫助特定的查詢。檢查自己的sql語句,為那些頻繁在where子句中出現(xiàn)的字段建立索引。
3,嘗試建立復(fù)合索引來進(jìn)一步提高系統(tǒng)性能。修改復(fù)合索引將消耗更長時(shí)間,同時(shí),復(fù)合索引也占磁盤空間。
4,對于小型的表,建立索引可能會影響性能
5,應(yīng)該避免對具有較少值的字段進(jìn)行索引。
6,避免選擇大型數(shù)據(jù)類型的列作為索引。
索引建立的原則
索引查詢是數(shù)據(jù)庫中重要的記錄查詢方法,要不要進(jìn)入索引以及在那些字段上建立索引都要和實(shí)際數(shù)據(jù)庫系統(tǒng)的查詢要求結(jié)合來考慮,下面給出實(shí)際中的一些通用的原則:
在經(jīng)常用作過濾器的字段上建立索引;
在SQL語句中經(jīng)常進(jìn)行GROUP BY、ORDER BY的字段上建立索引;
在不同值較少的字段上不必要建立索引,如性別字段;
對于經(jīng)常存取的列避免建立索引;
用于聯(lián)接的列(主健/外?。┥辖⑺饕?;
在經(jīng)常存取的多個(gè)列上建立復(fù)合索引,但要注意復(fù)合索引的建立順序要按照使用的頻度來確定;
缺省情況下建立的是非簇集索引,但在以下情況下最好考慮簇集索引,如:含有有限數(shù)目(不是很少)唯一的列;進(jìn)行大范圍的查詢;充分的利用索引可以減少表掃描I/0的次數(shù),有效的避免對整表的搜索。當(dāng)然合理的索引要建立在對各種查詢的分析和預(yù)測中,也取決于DBA的所設(shè)計(jì)的數(shù)據(jù)庫結(jié)構(gòu)。