`
zuuuzhang
  • 浏览: 28929 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

oracle optimizer_mode 优化模式

阅读更多
Oracle 优化参数 optimizer_mode 介绍

Oracle 在执行SQL语句时,有两种优化方法:即基于规则的RBO和基于代价的CBO。 在SQL执教的时候,到底采用何种优化方法,就由Oracle参数 optimizer_mode 来决定。

SQL> show parameter optimizer_mode

NAME                                  TYPE         VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                        string       CHOOSE

optimizer_mode 参数值共有以下四个:

第一:CHOOSE

   这个是Oracle的默认值。采用这个值时,Oracle即可以采用基于规则RBO,也可以采用基于代价的CBO,到底使用那个值,取决于当前SQL的被访问的表中是不是有可以使用的统计信息。

     如果有多个被访问的表,其中有一个或多个有统计信息,那么Oralce会对没有统计信息的表进行采样统计(即不全部采样),统计完成后,使用基于代价的优化方法CBO。

    如果所有被访问的表都没有统计信息,Oracle就会采用基于规则的优化方法RBO。

第二:ALL_ROWS

不管是不是有统计信息,全部采用基于成本的优化方法CBO。返回所有行的最小代价。

第三:FIRST_ROWS_n

不管是不是有统计信息,全部采用基于成本的优化方法CBO,并以最快的速度,返回前N行记录。返回前N行的最小代价。

第四:FIRST_ROWS

使用成本和试探法相结合的方法,查找一种可以最快返回前面少数行的方法;这个参数主要用于向后兼容。返回前面的少量行的最好计划

第五:RULE

这个参数正好和ALL_ROWS相反,不管是不是统计信息,全部采用基于规则的优化方法。

如何更改 optimizer_mode 的参数呢?可以用以下的方法。

SQL> alter session set optimizer_mode='RULE';

会话已更改。

本文为转载地址http://hi.baidu.com/1shome/blog/item/08f7f04579032627cffca384.html

分享到:
评论

相关推荐

    oracle性能优化技巧

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器...

    oracle_sql性能优化.doc

    ORACLE的优化器共有3种: ... 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.

    oracle_sql性能优化

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-...

    ORACLE9i_优化设计与系统调整

    §3.4.23 优化方式(OPTIMIZER_MODE) 77 §3.4.24 进程数(PROCESSES) 77 §3.4.25 回滚段名称(ROLLBACK_SEGMENTS) 78 §3.4.26 服务名(SERVICE_NAMES) 78 §3.4.27 会话的数(SESSIONS) 78 §3.4.28 共享池大小(SHARED...

    如何选择Oracle优化器使你事半功倍

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器(CBO, Cost...

    oracle语句优化53个规则详解

    设置缺省的优化器,可以通过对init.ora 文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST, CHOOSE,ALL_ROWS,FIRST_ROWS. 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器(CBO...

    ORACLE DBA 手册

    调整优化模式 optimizer_mode 12 调整优化模式optimizer_index_caching 13 调整优化模式optimizer_index_cost_adj 13 调整优化模式optimizer_max_permutations 14 并行优化 14 parallel_adaptive_multi_user: 14 ...

    ORACLE性能优化31条.docx

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS 。 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器(CBO,...

    oracle 数据库优化技术资料

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-...

    ORACLE SQL性能优化

    通过init.ora文件中OPTIMIZER_MODE声明 RULE (基于规则) 所遵循的是Oracle内部预定的一些规则。比如当一个where子句中的一列有索引时去走索引。 COST (基于成本) 你必须经常运行analyze 命令,以增加数据库中的...

    oracle优化详解

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。  为了使用基于成本的优化器(CBO,...

    Oracle SQL优化的53个黄金法则

    Oracle SQL优化的53个黄金... 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 ……

    oracle高效语句编写知识.doc

     设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖. 为了使用基于成本的优化器(CBO, Cost-...

    ORACLE-SQL性能优化

    ORACLE的优化器共有3种: ...设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.

    oracle sql performance tuning

    2.2.3 Optimizer mode优化模式级别的设定: 3 2.2.4 查看对象统计信息(object statistics) 3 2.3 结合BENQ ORACLE ERP 4 2.3.1 优化模式(Optermizer Mode) 4 2.3.2 关于 Gather 5 2.4 跟踪 SQL实际运行的COST 5 2.5 ...

    10g升级11g文档.doc

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器...

    关于oracle优化的问题。十分有用

    1. 选用适合的ORACLE优化器 ... 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖.

    性能优化之-Oracle性能优化.ppt

    oracle一些基本的SQL优化,适合入门... 设置缺省的优化器,可以通过对init.ora文件中 OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也可在SQL句级或是会话(session)级对其进行覆盖

    Oracle优化53解

    设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你当然也在SQL句级或是会话(session)级对其进行覆盖。 为了使用基于成本的优化器...

Global site tag (gtag.js) - Google Analytics