1,单个表最好有聚集索引,并且是唯一的;
2,where子句后的筛选条件,最好包含在索引中;
3,select子句返回字段最好包含在索引中,或者(include);
4,索引字段避免包括更新频繁的字段(如果必须包含的话,在更新字段之前判断是否需要更新,减少更新频率);
5,覆盖索引的顺序需要注意(如c1,c2在索引ix1中,当使用c1筛选或者c1和c2筛选时,可以命中索引;单独使用c2筛选时,无法命中索引);
6,读写分离可以降低频繁更新字段在索引中对于性能的影响;
7,非聚集索引的叶节点中,会包含聚集索引的数据,请注意使用;
8,聚集索引的叶子节点包含数据页,并且有顺序;非聚集索引单独存放在页中,无顺序要求,叶节点包含该RID行标识;
9,添加索引的表是用非常频繁,可以使用ONLINE选项在线创建索引,避免长时间锁定表;
10,在where子句后,避免使用计算操作,因为计算将导致无法正常使用索引;
11,数据量较大进行sort时,order by字段包含在索引中;
题外:没有聚集索引的表是堆表;
个人总结,请大家批评指正!