当前位置:K88软件开发文章中心编程全书编程全书01 → 文章内容

建立数据库索引时应考虑的问题

减小字体 增大字体 作者:佚名  来源:翔宇亭IT乐园  发布时间:2019-1-3 1:44:35

:2011-02-14 14:36:34

通常情况下,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引建立后,在查询使用该列时,系统将自动使用索引进行查询。改变表中的的数据(如增加或删除记录)时,索引将自动更新。索引将占用磁盘空间,并且降低添加、删除和更新元组(记录)的速度。不过在多数情况下,索引所带来的数据检索速度的优势大大超过它的不足之处。索引数目无限制,但索引索引越多,更新数据的速度越慢。对于仅用于查询的表可以建立索引,对于数据更新频繁的表则应少建索引。

通常当表中的列具备下述条件时,可以考虑在该列上建立索引:

①该列是表的主码或外码;

②该列是查询经常要用到的列;

③该列经常出现在查询条件中;

④该列经常要进行排序操作。

不适合作为索引的列有:

①该列的值域仅包含少量的几个值,如性别、真假、0或1等;

②查询此列时超过表的百分之二十的元组(记录)被返回;

③该列所占用的字节数较多(超过了900字节);

④该列包含太多的重复值;

⑤该列中包含太多的空值(NULL);

⑥该列经常进行修改操作;

⑦该列已经在其它索引中使用。

一般地,我们在建立索引后,要检验其对数据库性能是否有影响,如果索引没有明显提高查询性能,或反而降低了数据库的性能,则没必要再创建此索引。



建立数据库索引时应考虑的问题