通常情况下,只有当经常查询索引列中的数据时,才需要在表上创建索引。索引建立后,在查询使用该列时,系统将自动使用索引进行查询。改变表中的的数据(如增加或删除记录)时,索引将自动更新。索引将占用磁盘空间,并且降低添加、删除和更新元组(记录)的速度。不过在多数情况下,索引所带来的数据检索速度的优势大大超过它的不足之处。索引数目无限制,但索引索引越多,更新数据的速度越慢。对于仅用于查询的表可以建立索引,对于数据更新频繁的表则应少建索引。
通常当表中的列具备下述条件时,可以考虑在该列上建立索引:
①该列是表的主码或外码;
②该列是查询经常要用到的列;
③该列经常出现在查询条件中;
④该列经常要进行排序操作。
不适合作为索引的列有:
①该列的值域仅包含少量的几个值,如性别、真假、0或1等;
②查询此列时超过表的百分之二十的元组(记录)被返回;
③该列所占用的字节数较多(超过了900字节);
④该列包含太多的重复值;
⑤该列中包含太多的空值(NULL);
⑥该列经常进行修改操作;
⑦该列已经在其它索引中使用。
一般地,我们在建立索引后,要检验其对数据库性能是否有影响,如果索引没有明显提高查询性能,或反而降低了数据库的性能,则没必要再创建此索引。
新闻热点
疑难解答