网站首页
JSP空间
动态资讯
开源项目
技术文档
资源下载
J2EE资源
客户论坛
在线支付
 
  技术文档>>数据库技术>>Oracle技术>>Oracle开发>查看文档  
  Oracle9i的新特性索引跳跃式扫描的实现     
  文章作者:未知  文章来源:未知  
  查看:216次  录入:管理员--2007-09-01  
   

索引跳跃式扫描(index skip scan)是Oracle9i用来提高性能的新特性,对于使用复合索引的数据库应用程序意义尤为重大。   

复合索引(又称为连接索引)是一个包含多个字段的索引。在ORACLE9i以前的ORACLE版本里,只有那些在WHERE子句里引用整个索引或者是引用索引的一个或多个前导字段的查询,才能使复合索引有效而提高检索效率。而在ORACLE9i里,一个复合索引即使在一次查询中没有使用前导字段,也可能通过“索引跳跃式扫描”被有效引用。在一次跳跃式扫描中,每个复合索引前导字段的独特值(DISTINCT VALUE)只会被搜索一次,ORACLE9i会在复合索引前导字段每个独特值区间结合WHERE子句中的其它复合索引字段搜索符合条件的目标记录,这种做法的结果导致了在索引中的跳跃式扫描。

索引跳跃式扫描主要有两个优点:

1、以前版本中的表扫描(TABLE SCAN)可能会转变为索引扫描,提高了某些查询的执行效率;

2、应用程序使用较少的索引就能达到提高效能的目的,并且既节省存储空间,又能提高DML和维护操作的效率。

假设有一个汽车注册信息的表,包含了250万条纪录,结构如下:

REGISTERED_OWNERS 
(STATE VARCHAR2(2) NOT NULL, 
REGISTRATION# VARCHAR2(10) NOT NULL, 
FIRST_NAME VARCHAR2(30), 
LAST_NAME VARCHAR2(30), 
MAKE VARCHAR2(30), 
MODEL VARCHAR2(15), 
YEAR_MFG NUMBER, 
CITY VARCHAR2(30), 
ZIP NUMBER)

进一步假设在字段(STATE,REGISTRATION#)上存在一个复合索引,那么下面语句的执行速度会有很大提高:

SELECT first_name, last_name, 
zip FROM REGISTERED_OWNERS 
WHERE registration# = '4FBB428'

使用索引查询速度大约可以提高90倍,在ORACLE8i(索引跳跃式扫描)中,这个查询需要21.42秒,而同样的硬件配置使用ORACLE9i只需要0.24秒。

索引跳跃式扫描非常有效,对用户和应用程序而言是透明的,并且不需要使用额外的新索引就能提高数据库的性能,有些时候甚至可以允许移除某些索引而不会对性能有太大影响。

 
 
上一篇: 细化解析如何共享Oracle数据库身份空间    下一篇: 解析Oracle数据库内在索引和参数的调整
  相关文档
oracle failsafe与rac两者之间的不同之处 05-13
oracle数据库9i dataguard的安装与维护 06-10
讲解jython访问oracle数据库的具体步骤 03-19
深入讲解数据库中user和schema的关系 04-08
带你轻松接触使用特殊索引时的注意事项 09-01
针对oracle的tns listener攻击方法整理 08-08
oracle数据库中管理表空间和数据文件 (1) 04-24
解析:ORACLE性能调整--统计信息的迁移 08-05
Oracle与FoxPro两数据库的数据转换 05-13
讲解oracle数据库自定义异常的使用方法 04-15
带你快速了解wait等待事件及其处理方法 04-17
Oracle中用脚本跟踪存储过程实例讲解 04-11
通过db查询的两个数据库间scn会被同步 03-26
oracle数据库sqlplus中几个常用set语句 07-28
指定一个where条件来有条件地导出记录 04-03
通过几个步骤有效关闭oracle死锁进程 04-18
深入讲解oracle数据库的多栏输出语句 03-18
怎样使用errorstack进行错误跟踪及诊断 11-15
一个修改oracle数据库用户密码的小诀窍 07-30
Oracle中用SQL语句实现进制间互相转换 07-07
返回首页 | 关于我们 | J网章程 | JSP空间合租 | 客服中心 | 免责声明 | 常见问题 | 参观机房
本站主机空间代理至厦门市华众网络科技有限公司
《中华人民共和国增值电信业务经营许可证》
编号:闽B2-20050079
@2005-2008福建JSP技术网 版权所有 闽ICP备05000928号
厦门(总部):13616026886 福州:0591-87655121
邮箱:admin@fjjsp.com 站长QQ,点击这里给我发消息