1)避免对经常更新的表创建过多的索引,并且索引中的列尽可能少。而对经常用于查询的字段(外键)应该创建索引,但要避免添加不必要的字段。
2)数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能不会产生优化的效果。
3)在条件表达式中经常用到的,不同值较多(主键)的列上建立索引,在不同值少的列上不要建立索引。比如性别字段只“男”或“女”两个不同值,因此就无须建立索引。如果建立索引,不但不会提高查询效率,反而会严重降低更新速度。
4)在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引。在经常使用在where子句中的列上面创建索引,加快条件的判断速度。对于那些定义为text,image和bit的数据类型的列不应该增加索引。