1、表的主键、外键必须有索引
2、数据量超过三百的表应该有索引
3、经常与其他表进行连接的表,在连接的字段上应该创建索引
4、经常出现在where子句中的字段,特别是大表的字段,应该建立索引
5、索引应该创建在选择性高的字段上
6、索引应该建在小字段上,对于大的文本字段甚至超长字段(例如数据类型为text或ntext的字段),不要建索引
7、频繁进行数据操作的表,不要建立太多的索引
8、删除无用的索引,避免对执行计划造成负面影响
9、为经常出现在关键字order by、group by、distinct后面的字段,建立索引,在这些字段上建立索引,可以有效地避免排序操作。如果建立的是复合索引,索引的字段顺序要和这些关键字后面的字段顺序一致,否则索引不会被使用
10、在union等集合操作的结果集字段上,建立索引。其建立索引的目的同上
11、为经常用作查询选择的字段,建立索引
12、限制表上的索引数目。对一个存在大量更新操作的表,所建索引的数目一般不要超过3个,最多不要超过5个。索引虽说提高了访问速度,但太多索引会影响数据的更新操作。
13、不要在有大量相同取值的字段上,建立索引。在这样的字段(例如:性别)上建立索引,字段作为选择条件时将返回大量满足条件的记录,优化器不会使用该索引作为访问路径