sql server中使用组合索引需要注意的地方



1、索引应该建在选择性高的字段上(键值唯一的记录数/总记录条数),选择性越高索引的效果越好、价值越大,唯一索引的选择性最高;


2、组合索引中字段的顺序,选择性越高的字段排在最前面;如果把低选择性的列放在最左端,可能会造成无法使用该索引的情况。


3、where条件中包含两个选择性高的字段时,可以考虑分别创建索引,引擎会同时使用两个索引(在OR条件下,应该说必须分开建索引);


4、不要重复创建彼此有包含关系的索引,如index1(a,b,c) 、index2(a,b)、index3(a);


5、组合索引的字段不要过多,如果超过4个字段,一般需要考虑拆分成多个单列索引或更为简单的组合索引;


6、组合索引通常在查询语句中的WHERE条件使用了组合索引最左边的列时会最有用。


7、组合索引增加了更新数据成本,增加了存储索引的成本。另外,在dbms查询时,优化方案中不一定会选择到他(有可能直接选择了单键查询)


8、不要滥用索引。因为过多的索引不仅仅会增加物理存储的开销,对于插入、删除、更新操作也会增加处理上的开销,而且会增加优化器在选择索引时的计算代价。


9、太多的索引与不充分、不正确的索引对性能都是毫无益处的。


10、索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。



文章转载自: sql server组合索引   http://www.studyofnet.com/news/954.html


你可能感兴趣的:(数据库)