WEB开发网
开发学院数据库Oracle Oracle数据库中利用索引表提高查询速度 阅读

Oracle数据库中利用索引表提高查询速度

 2008-11-18 13:00:50 来源:WEB开发网   
核心提示: 二是索引表中的记录,是按照主键列进行排序存储的,Oracle数据库中利用索引表提高查询速度(2),对于主键列范围内的查询,用户可以获得更快的查询速度,但是,员工考勤信息表中的数据,这主要是因为在表格的ROWID伪列中,直接存储了主键信息

二是索引表中的记录,是按照主键列进行排序存储的。对于主键列范围内的查询,用户可以获得更快的查询速度。这主要是因为在表格的ROWID伪列中,直接存储了主键信息。

三是利用溢出存储功能,提高常用列的访问速度。在后台数据库表中,可能有几十个字段。但是,前台用户在查询的时候,往往不需要访问所有的字段。那些用户经常要访问的列,就叫做常用列。对常用列与不常用列区别明显的,可以通过溢出存储功能,提高常用列的访问速度。即将表中不经常需要访问的非主键列不存储在B树的叶子节点中,而是存储在一个具有堆组织方式的溢出存储区中。若索引表比较大,使用溢出存储不但可以减少索引表所占用的存储空间,而且可以提高常用列的查询效率。当然,这只是针对常用列而言。若用户查询非常用列时,溢出存储就没有效果了。

三、索引表的使用时机

1、 通过关键字查询表的内容。

如果在实际应用中,大部分是通过主键列来查询其他列的信息的时候,就可以考虑把这张表建立为索引表。

如在ERP系统中,有销售订单表、采购订单表等等。对于这些表单,用户查询的时候,大部分是按照订单单号来进行查询。此时,数据库管理员在设计的时候,就可以把这些单据的基础表格设置为索引表。

特别是有些系统把单据分为单头档与单身档。如采购订单单头与采购订单单身。在前台显示为两个不同的页签,在后台对应两张不同的数据表。利用单头页签来调用单身的内容。此时,就是通过一个采购订单单头的ID列来查询单身的内容。在这种设计的时候,完全可以把订单单身对应的数据库表设置为“索引表”。从而提高数据查询的速度。

2、 若表变化频繁,则不适宜使用索引表。

若表的变更比较频繁的话,则采用索引表不怎么合适。这主要是因为Oracle数据库在对索引表管理时,开销比较大。如对于员工考勤系统中,员工信息这个表变更不是很频繁,但是,员工考勤信息表中的数据,则每个小时都可能会发生变化。

Tags:Oracle 数据库 利用

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接