`

RBO规则介绍

SQL 
阅读更多

•无条件使用索引
•使用内置的优先级别决定访问路径
•比较难以控制
-通常改写SQL语句来达到不使用索引目的

 

 

RBO内置优先级别

 

 

控制RBO的缺省动作

•在from子句中改变各个表出现的顺序
•在where子句中改变条件的顺序
•有意建立或删除索引
•使用句法手段不使用索引
-数字列+0
-日期列+0
-字符列|| ‘’

RBO连接优化

•第一步,生产所有可能的连接顺序•这决定了下列组合

•这决定了下列组合

NUMBER OF TABLES          JOIN ORDERS

---------------------------            -----------------

                                2            2! = 2

                                 3            3! = 6

                                 4           4! = 24

•增加连接表导致parse时间以几何级数增长

 

分享到:
评论

相关推荐

    Oracle的RBO和CBO详细介绍和优化模式设置方法

    主要介绍了Oracle的RBO和CBO详细介绍和优化模式设置方法,RBO即基于规则的优化方式(Rule-Based Optimization),CBO即基于代价的优化方式(Cost-Based Optimization),需要的朋友可以参考下

    华脉ORACLE高效SQL规则

    1. 基于规则的优化器-- Rule Based (Heuristic) Optimization(简称RBO) 2. 基于代价的优化器 -- Cost Based Optimization(简称CBO) 3. 判断当前数据库使用何种优化器—CHOOSE 4. 如何设定选用哪种优化模式  访问...

    BigData-‘基于代价优化’究竟是怎么一回事?

    提到CBO,就不得不提起一位’老熟人’–基于规则优化(Rule-BasedOptimization,简称RBO)。RBO是一种经验式、启发式的优化思路,优化规则都已经预先定义好,只需要将SQL往这些规则上套就可以(对RBO还不了解的童鞋...

    高级SQL优化(二)

    Oracle10g起,在基于CBO的优化器模式下Oralce会进行自动优化,但在基于RBO(基于规则)的优化器模式下,依然保持此规则。1.索引对不等号和NOT的限制RBO模式下,执行计划如下:1.索引对不等号和NOT的限制RBO模式下,...

    Oracle_SQL优化

    Oracle_SQL优化 Oracle的优化器有两种方式,一种是基于规则的优化方式(RBO),另外一种是基于代价的优化方式(CBO),Oracle推荐在oracle8以后的版本强烈推荐使用CBO的方式。

    Oracle优化器 Cardinality基数与Selectivity选择性

    一、基于规则的优化器。《RBO: Rule-Based Optimization》  Oracle会在代码里事先为各种类型的执行路径定一个等级,一共15个等级,从等级1到等级15,oracle认为等级1的执行路径是效率最高的,等级15是执行效率最差...

    性能优化之_Oracle性能优化.ppt

    RULE (基于规则rbo) b. COST (基于成本cbo) c. CHOOSE (选择性)  设置缺省的优化器,可以通过对init.ora文件中 OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也可在SQL句级或是...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part2.rar

    4.1 rbo基于规则的优化器 66 4.2 cbo基于成本的优化器 69 第5章 执行计划 85 5.1 cardinality (基数) 85 5.2 sql的执行计划 94 第6章 hint 109 6.1 和优化器相关的hint 115 6.1.1 all_rows和first_rows(cbo) 115 ...

    让Oracle跑得更快 Oracle 10g性能分析与优化思路.part1.rar

    4.1 rbo基于规则的优化器 66 4.2 cbo基于成本的优化器 69 第5章 执行计划 85 5.1 cardinality (基数) 85 5.2 sql的执行计划 94 第6章 hint 109 6.1 和优化器相关的hint 115 6.1.1 all_rows和first_rows(cbo) 115 ...

    SQL培训第一期

    1 SQL基础 1.1 基本概念 结构化查询语言(Structured Query Language)简称SQL,是一种关系数据库查询语言,用于存取数据以及查询、更新和管理关系数据库系统。 1.2 语句结构 1.2.1 数据查询语言(DQL) ...

    ORACLE9i_优化设计与系统调整

    §14.6 基于规则(RBO)的优化程序 177 §14.6.1 RBO访问路径 178 §14.7 优化器操作 179 §14.7.1 可优化的SQL语句 180 §14.7.2 优化程序操作 180 §14.7.3 基于规则或基于代价优化方法 180 §14.8 优化连接* 181 §...

Global site tag (gtag.js) - Google Analytics