索引的设计
索引设计不合理或者缺少索引都会对数据库和应用程序的性能造成障碍。高效的索引对于获得良好的性能非常重要。设计索引时,应该考虑一下的准则:
1)索引并非越多越好,一个表中如有大量的索引,不仅占用磁盘空间,而且会影响INSERT,DELETE,UPDATE等语句的性能,因为当表中的数据更改的同事,索引会进行调整和更新。
2)避免对经常更新的表进行过多的索引,并且索引中的列尽可能的少。而对于经常用与查询的字段应该创建索引,但要避免添加不必要的字段。
3)数据量小的表最好不要使用索引,由于数据较少,查询花费的时间可能比遍历索引的时间还要短,索引可能不会产生优化效果。
4)在条件表达式中经常用到的不同值较多的列上建立索引,在不同值很少的列上不要建立索引。比如在学生表的“性别”字段上只有“男”与“女”两个不同值,因此就无需建立索引。如果建立索引不但不会提高查询效率,反而会严重降低数据更新速度。
5)当唯一性时某种数据本身的特征时,指定唯一索引。使用唯一索引需能确保定义的列的数据完整性,以提高查询速度。
6)在频繁进行排序或分组(即进行group by 或者 order by操作)的列上建立索引,如果待排序的列有多个,可以在这些列上建立组合索引。