- 浏览: 115854 次
- 性别:
- 来自: 北京
文章分类
最新评论
Oracle在执行SQL语句时,有两种优化方法:即基于规则的RBO和基于代价的CBO。在SQL执教的时候,到底采用何种优化方法,就由Oracle参数 optimizer_mode 来决定。
Rule Based Optimizer(RBO)基于规则
Cost Based Optimizer(CBO)基于成本,或者讲统计信息
SQL> show parameter optimizer_mode;
NAME TYPE
VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode string
ALL_ROWS
oracle10g开始默认是all_rows
ALL_ROWS不管是不是有统计信息,全部采用基于成本的优化方法,返回最大数的量数据
FIRST_ROWS_
n
不管是不是有统计信息,全部采用基于成本的优化方法并以最快的速度,返回前
N
行记录
FIRST_ROWS
使用成本和试探法相结合的方法,查找一种可以最快返回前面少数行的方法
第一个是返回所有行的最小代价,第二个是返回前N行的最小代价,最后一个是返回前面的少量行的最好计划
修改全局
alter system set optimizer_mode=all_rows;
修改当前session
alter session set optimizer_mode=all_rows;
发表评论
-
Google公开Megastore论文——解决NoSQL、SQL融合难题
2011-03-02 14:44 668实际上,作为一个建 ... -
开源数据库Sharding技术
2011-03-02 16:14 710内容摘要:Sharding 不是一个某个特定数据库软件附 ... -
Java 开发 2.0: 使用 Hibernate Shards 进行切分
2011-03-02 16:26 638当关系数据库试图在 ... -
可扩展的分布式数据库架构
2011-03-03 14:44 682本文发表在《程序员 ... -
OLTP系统与DSS系统对比
2011-03-03 15:35 646在进行数据库系统的设计时,一个不可忽视的问题是弄清你所 ... -
Oracle高级复制机制
2011-03-10 15:48 659Oracle高级复制即可支 ... -
Oracle高级复制的同步复制的配置步骤说明
2011-03-10 15:50 832以下的文章主要讲述的是Oracle高级复制的同步复制,如 ... -
linux oracle中文乱码问题解决方法
2011-04-11 15:18 758connect system/oracle9i ... -
ubuntu下安装ocfs2
2011-07-12 14:20 970简介 一个集群文件系统能使运行在集群中所有节点并发的通过 ... -
asm下载地址
2011-07-12 16:50 878asm rpm包下载地址http://www.oracle.c ... -
oracle重要初始参数
2011-09-28 17:15 870OPEN_CURSORS session可以打开的游标最大数, ... -
SQLJ是什么?优点?
2011-10-11 09:56 912SQLJ是一种允许把静态的SQL语句以文本形式嵌入Java程序 ... -
共享池的调整与优化(Shared pool Tuning)
2011-10-11 10:53 732共享池(Shared pool)是SGA中最关键的内存片段,共 ... -
使用DBMS_SHARED_POOL包将PL/SQL大对象保存到Shared Pool
2011-10-11 16:32 723当系统在加载PL/SQL大对象时,有可能遭遇由于SharedP ... -
oracle sga相关
2011-10-12 17:08 836oracle主要影响性能的内存: Shared ... -
oracle内存调整相关
2011-10-14 15:52 888db_cache_size与sga_target关系 db_ ... -
oracle索引分类
2011-10-17 13:31 850B-TREE INDEX,B树索引:在创建索引时他是 ... -
修改oracle redo log的大小
2011-10-17 15:53 11011.查看现在的REDO GRO ... -
本地管理表空间
2011-10-18 13:29 759本地管理表空间的好处: 1:快速,并发空间操作 ... -
Oracle表空间命令
2011-10-19 16:55 795创建立表空间 CREATE TABLESPACE ...
相关推荐
优化器目标不仅可以通过初始化参数OPTIMIZER_MODE在实例级别进行设置,还可以通过执行ALTER SESSION SET OPTIMIZER_MODE语句在会话级别进行调整。此外,通过在SQL语句中使用Hints,可以针对特定查询动态地改变优化...
2. 全局化参数:如optimizer_mode、cursor_sharing等,根据应用特点调整以优化查询行为。 3.后台进程调整:如DBWn(数据写入进程)、ARCn(归档日志进程)、LCKn(锁定进程)等,根据系统负载调整数量和优先级。 ...
Instant 级别:修改初始化参数,例如在 init.ora 文件中设定 OPTIMIZER_MODE=RULE、OPTIMIZER_MODE=CHOOSE、OPTIMIZER_MODE=FIRST_ROWS、OPTIMIZER_MODE=ALL_ROWS。 * B. Session 级别:当前会话输入 ALTER SESSION...
影响优化器优化目标的因素主要有三个:OPTIMIZER_MODE 初始化参数、数据字典中的 CBO 统计数据、用来改变 CBO 优化目标的 Hints。 OPTIMIZER_MODE 初始化参数 ------------------------- OPTIMIZER_MODE 初始化...
_optimizer_mode_ Optimizer_mode 是 Oracle 数据库中一个重要的参数,它决定了数据库如何选择执行计划。在optimizer_mode=choose 时,如果表有统计信息(分区表外),优化器将选择 CBO,否则选 RBO。CBO 尝试找到...
§14.4.1 OPTIMIZER_MODE初始参数 173 §14.4.2 数据字典中的统计数据 173 §14.4.3 ALTER SESSION语句的OPTIMIZER_GOAL参数 174 §14.4.4 关于提示的改变目标 174 §14.5 基于代价优化器(CBO) 174 §14.5.1 CBO...
这是因为在Oracle 10g中,参数`optimizer_dynamic_sampling`的默认值为2,意味着针对没有统计信息的任何表都采用动态采样,而在Oracle 9i中该参数的默认值为1。 #### 成本的定义 **CBO的核心概念** 网络上关于CBO...
Oracle提供了`OPTIMIZER_MODE`初始化参数来控制优化器的行为。这个参数的不同设置会影响优化器的选择: - **CHOOSE**: 缺省值,优化器会根据是否有可用的统计信息来选择使用基于成本的优化方法(CBO)或基于规则的...
`optimizer_mode`参数的`CHOOSE`和`RULE`选项在Oracle 10g中已被淘汰,取而代之的是`ALL_ROWS`、`FIRST_ROWS`、`FIRST_ROWS_N`等优化目标,这些目标分别针对整体查询性能、快速返回第一条记录和平衡首行与总行数的...
如果不想依赖CHOOSE,可以直接设置OPTIMIZER_MODE为RULE或COST,以强制使用特定的优化策略。 其次,访问表的方式也是影响性能的重要因素。全表扫描(Full Table Scan, FTS)虽然简单,但对大数据量的表来说效率低下...
1. **修改初始化参数**:可以在`init<SID>.ora`文件中更改`OPTIMIZER_MODE`参数为`RULE`或`CHOOSE`,并重启数据库。 2. **更新统计信息**:定期运行`ANALYZE TABLE ... COMPUTE STATISTICS;`命令更新表的统计信息,...
设置缺省的优化器,可以通过对 init.ora 文件中 OPTIMIZER_MODE 参数的各种声明,例如 RULE、COST、CHOOSE、ALL_ROWS、FIRST_ROWS。为了使用基于成本的优化器(CBO),必须经常运行 analyze(分析)命令,以增加...
- **OPTIMIZER_MODE初始化参数**: 这个参数控制着Oracle优化器的工作模式。根据不同的设置,它可以指导优化器使用基于成本的优化方法(CBO)或基于规则的优化方法(RBO)。具体来说,该参数有以下几种取值: - **CHOOSE...
Oracle 优化器有两种模式:CBO(Cost-Based Optimizer)和 RBO(Rule-Based Optimizer)。CBO 是基于成本的优化器,需要使用统计信息,据此计算最佳的执行计划;而 RBO 是基于规则的优化器,根据 Oracle 设定的规则...
在 optimizer_mode=choose 时,如果表有统计信息,优化器将选择 CBO,否则选择 RBO。 四、SQL 调整 SQL 调整是 DBA 的重要任务之一。了解 SQL 语句的执行情况、资源消耗情况和性能瓶颈所在,可以帮助 DBA 进行优化...
7. **查询优化器**:理解CBO(Cost-Based Optimizer)的工作原理,学习如何使用optimizer_mode和hints来影响优化器的选择。 8. **物化视图和重写**:对于经常执行的复杂查询,创建物化视图可以预先计算结果,提高...
设定优化器模式可以通过ALTER SESSION语句完成,例如,设置为CBO模式:`ALTER SESSION SET OPTIMIZER_MODE=COST_BASED;` 二、Oracle 索引介绍 索引是提升查询效率的关键工具,分为多种类型,如B树索引、位图索引、...