求学资讯 oracle认证 提问
oracle认证 > 性能调优

Oracle性能调优:30个Oracle语句优化规则详解8

来源:用户上传 上传用户:zhongzhanen 发布时间:2018-03-22

导读:
想要第一时间获得Oracle认证考试报考信息,想要充分利用各种精华资讯资源备考,想要海量高质量、高含金量的习题练习,关注“求学快递网”公众号,你不能错过的考试利器!

  多个平等的索引

  当SQL语句的执行路径可以使用分布在多个表上的多个索引时,Oracle会同时使用多个索引并在运行时对它们的记录进行合并, 检索出仅对全部索引有效的记录。

  在Oracle选择执行路径时,唯,一性索引的等级高于非唯,一性索引。然而这个规则只有当WHERE子句中索引列和常量比较才有效。如果索引列和其他表的索引类相比较。这种子句在优化器中的等级是非常低的。

  如果不同表中两个想同等级的索引将被引用,FROM子句中表的顺序将决定哪个会被率先使用。FROM子句中最后的表的索引将有最高的优先级。

  如果相同表中两个想同等级的索引将被引用,WHERE子句中最先被引用的索引将有最高的优先级。

  举例:

  DEPTNO上有一个非唯,一性索引,EMP_CAT也有一个非唯,一性索引。

  SELECT ENAME,

  FROM EMP

  WHERE DEPT_NO = 20

  AND EMP_CAT = ‘A’;

  这里,DEPTNO索引将被最先检索,然后同EMP_CAT索引检索出的记录进行合并。执行路径如下:

  TABLE ACCESS BY ROWID ON EMP

  AND-EQUAL

  INDEX RANGE SCAN ON DEPT_IDX

  INDEX RANGE SCAN ON CAT_IDX

声明:本站为免费网络服务提供商,网站所有信息均为用户自行发布并由用户承担相应法律责任,本站不对其真实性及合法性负责,如涉及侵权或者信息违法,请你及时与本站联系删除。

阅读 1257 举报

相关推荐
评论0

当前没有评论内容

发表评论 0条评论
95
微博
QQ
QQ空间
微信
取消