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

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

 2008-11-18 13:00:50 来源:WEB开发网   
核心提示:在索引表的ROWID中存储的病不是记录的实际物理地址,而是逻辑的物理地址,Oracle数据库中利用索引表提高查询速度,故有些数据库管理员把索引表中的ROWID列称为ROWID伪主键列,他存放的是表的主键信息,所以,索引表减少了数据查询过程中的中间环节, 一、索引表与标准表的差异,索引表与标准表的差异主要体现在四个方面

在索引表的ROWID中存储的病不是记录的实际物理地址,而是逻辑的物理地址。故有些数据库管理员把索引表中的ROWID列称为ROWID伪主键列,他存放的是表的主键信息。

一、索引表与标准表的差异。

索引表与标准表的差异主要体现在四个方面。

一是索引表中的ROWID列存放的时主键信息,使逻辑的物理地址。而在标准表的ROWID伪列中则存储的是真实的物理地址。这是两者之间最本质的区别。另外其他三个方面的差异都是因为有这个差异存在而存在。也可以说,他是索引表优势的根源。

二是索引表对记录的访问是基于主键的,也就是说,根据逻辑的ROWID。而标准表在访问记录的时候,则是通过物理的ROWID地址。

三是表的扫描方式不同。若采用索引表的话,则数据库是通过全索引扫描方式反问相关的记录;而若采用标准表的话,则是通过顺序扫描的方式返回相关的记录。这两者访问方式在性能上有很大的差异。全索引扫描方式,可能提供更高的查询性能。

四是对于主键的要求不同。在建立标准表的时候,不一定要指定主键。但是,若用户在建立索引表的时候,则必须给表建立主键,使用主键来唯一表示一行记录。很简单,在索引表中,ROWID伪列中就存储着主键信息。若不指定具体的主键的话,数据访问时就不能够对记录进行定位。

不过,索引表与标准表的差异只是停留在数据库开发的层面,或者说,只是内部存储结构上有一定的差异。但是,在用户使用它们的时候,没有任何的差异。在前台应用程序设计的时候,用户可以向普通表那样访问索引表。这就给索引表的应用排除了使用上的障碍。

二、索引表的优势

索引表的优势主要体现在数据查询上。而且,这个优势是非常明显的。

一是索引表能够获得比标准表更快的查询速度,即使这张标准表已经建立了合适的索引。这跟索引表的存储结构是分不开的。因为索引表的数据在存储的时候,所有的行记录都是跟排序过的主键列一起存储在数据库系统中。故在查询的时候,只需要找到主键,就俄可以记录查询到整条记录的信息。而标准表在数据查询的时候,需要先找到对应的ROWID列,然后再去查询主键信息,再去查询对应的记录。所以,索引表减少了数据查询过程中的中间环节,避免了额外的数据块读取操作。

1 2 3  下一页

Tags:Oracle 数据库 利用

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