首页 百科知识 使用索引优化查询

使用索引优化查询

时间:2024-10-17 百科知识 版权反馈
【摘要】:索引作为数据库中重要的数据结构,它的根本目的就是为了提高查询效率。我们已了解了索引的相关概念和基本知识,知道了如何创建和删除索引,那么如何使用索引进行查询优化呢?比如在职员表的“性别”列上只有“男”与“女”两个不同值,因此就没必要建立索引。在使用索引的过程中一些人认为只要建立索引就能显著提高查询速度,这是一个认识上的误区。如上述提到的“性别”列就不宜创建索引。

3.8.1 使用索引优化查询

索引作为数据库中重要的数据结构,它的根本目的就是为了提高查询效率。我们已了解了索引的相关概念和基本知识,知道了如何创建和删除索引,那么如何使用索引进行查询优化呢?现在大多数的数据库产品都采用IBM最先提出的ISAM索引结构。索引的创建要恰到好处,其创建的一些原则如下:

■ 在经常进行连接,但是没有指定为外键的列上建立索引,而不经常连接的字段则由优化器自动生成索引。

■ 在频繁进行排序或分组(即进行group by或order by操作)的列上建立索引。

■ 在条件表达式中经常用到的不同值较多的列上建立索引,在不同值少的列上不要建立索引。比如在职员表的“性别”列上只有“男”与“女”两个不同值,因此就没必要建立索引。对这种列建立索引不但不会提高查询效率,反而会严重降低更新速度。

■ 如果待排序的列有多个,可以在这些列上建立复合索引(Compound Index)。

■ 当数据库表更新大量数据后,删除并重建索引可以提高查询速度。

在使用索引的过程中一些人认为只要建立索引就能显著提高查询速度,这是一个认识上的误区。并非是在任何字段上简单地建立索引就能提高查询速度。在表的列上建立索引要符合建立聚集索引要求的 “既不能绝大多数都相同,又不能只有极少数相同”规则。如上述提到的“性别”列就不宜创建索引。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈