网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > 数据库 > Oracle教程
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
数据库:数据库教程,数据库技巧,Oracle教程,MySQL教程,Sybase教程,Access教程,DB2教程,数据库安全,数据库文摘
本月文章推荐
.ORACLE里取随机数的几种具体的方.
.Oracle简化Oracle 10g中用户管理.
.用JDBC访问一个数据库.
.Oracle冷备份的不完全恢复(一).
.简单冷备份恢复操作步骤.
.对Foreign Key的进一步认识.
.PL/SQL基本语法要素(组图).
.自动加载机抢占低端备份市场.
.Oracle如何对CLOB行字段来执行全.
.关于如何理解Explain Plan的输出.
.使用UTL_FILE转储数据为逗号分隔.
.数据文件internal的内部结构分析.
.Oracle的翻页Sql语句.
.Oracle发布10gR2 Patchset 2 版本.
.Oracle的数据库表与视图.
.ORA01034/ORA27101的解决方法.
.在Java中调用Oracle包中的过程.
.Oracle容灾复制解决方案SharePlex.
.Oracle10g 自动工作负载信息库.
.ORACLE在HP-UX下的系列问题处理(.

使用索引跳跃式扫描以提高查询速度

发表日期:2008-2-9



  索引跳跃式扫描(index skip scan)是Oracle9i的一个新的执行特性,尤其适用于使用连接索引和访问多值索引的Oracle查询。让我们看以下的范例。请注重到以下代码包含着连接索引:
  
  create index
    sex_emp_id
  on
    emp (sex, emp_id)
  ;
  
  在Oracle9i版本之前,当SQL查询中包含性别和emp_id时,或者查询指定性别行的时候才可以使用这一索引。下面的查询不能够使用连接索引:
  
  select
    emp_id
  from
    emp
  where
    emp_id = 123;
  
  Oracle9i的索引跳跃式扫描执行规则答应使用连接索引,即使SQL查询中不指定性别。这一特性使得无需在emp_id行中提供第二个索引。Oracle承认索引跳跃式扫描没有直接索引查询速度快,但可以这样说,相比于整个表扫描(table scan),索引跳跃式扫描的速度要快得多。
  
  当Oracle没有指明索引跳跃式扫描的内部内容时,我们可以从它的执行规则中判定出,Oracle在内部上生成了多个查询,这样就满足带有多个子查询的查询。
  
  SELECT STATEMENT Optimizer=CHOOSE (Cost=6 Card=1 Bytes=5)
    0 SORT (AGGREGATE)
      1 INDEX (SKIP SCAN) OF 'SEX_EMP_ID' (NON-UNIQUE)
  
  在内部里,Oracle生成了两个查询,并连接结果的ROWID表。
  
  selectemp_name from emp_where sex = 'F' and emp_id = 123
  UNION
  select emp_name from emp_where sex = 'M' and emp_id = 123;
  
  使用索引跳跃式扫描的内涵就变得很清楚。
  
  对于高顺序键(high order key)中的独特值数目,Oracle的索引跳跃式扫描性能将会降低。假如主列有50个值,Oracle要发出50条查询才能找回结果。
  
  索引跳跃式扫描只适用于硬盘空间和存储空间相当紧缺的情况。
上一篇:Oracle开发工具介绍 人气:1925
下一篇:Oracle并行服务器(OPS)经典FAQ12问 人气:484
浏览全部Oracle教程的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐