正确理解CBO和RBO之间的关系

2009-1-14    | |
打印本文章
RSS

导读:本文解答了如何理解基于开销的Oracle优化程序(CBO)和基于规则的优化程序(RBO)之间的关系。

关键词:Oracle CBO Oracle RBO 统计 Oracle查询,Oracle备份和恢复

正在加载数据... 【TechTarget中国原创】Oracle CBO、RBO以及统计之间是什么关系?答:你提交查询时,Oracle通常有很多种执行该查询的方法。“我是不是该用到索引?我应该用哪种连接方式?”在Oracle执行该查询之前,它还要决定这些问题的答案从而选择最佳执行路径。

【TechTarget中国原创】:Oracle CBO、RBO以及统计之间是什么关系?

  答:你提交查询时,Oracle通常有很多种执行该查询的方法。“我是不是该用到索引?我应该用哪种连接方式?”在Oracle执行该查询之前,它还要决定这些问题的答案从而选择最佳执行路径。

  Oracle以前的版本采用了一系列规则决定最佳执行路径。其中的一条规则就是:如果存在索引,就使用索引。这些规则还分了等级,所以一些规则要胜过另一些规则。所有这些规则都叫做基于规则的优化程序(RBO)。

  现在来看看只有两个数据行和一个索引的数据库表。在查询在这个表时不用使用该索引,因为这样做还会带来其他的操作。你只需要读包括这两个行的模块、忽视索引。但以前的RBO可以执行其他的操作,因为RBO不够灵活,它不能理解只包括少数几个行的表,所以它不能充分利用这个索引。这一概念就让我们回到了基于开销的Oracle优化程序(CBO)上。CBO基于数据分配、表中的行数等进行决策,所以CBO需要有关表和索引的一些信息。如果采用CBO,我们就要对它使用的表和所引进行统计。而RBO则不会用到这些统计数据。

查看全文
相关的白皮书
 
当用户把表单从一种模式转换到另一种模式时,要如何修改表单的索引,专家举出实例为用户解答。
 
修复Oracle数据库时,为什么有些函数/过程变成无效对象了?专家将给出答案。
 
本文主要介绍了几种超大型Oracle数据库应用系统的设计方法。
 
本部分介绍了系统硬盘的划分分配以及数据库的备份与恢复策略。
 
热备份要求数据库在Archivelog方式下操作,并需要大量的档案空间。一旦数据库运行在archivelog状态下,就可以做备份了。热备份的命令文件由三部分组成……
在SQL Server中,我们如何进行索引设计来提升系统的性能和对查询进行优化,是许多用户非常关注的问题,在本次技术专题中,我们将分群集索引和非群集索引设计两部分来为您详细分析。
本技术专题主要为使用Oracle SQL Developer和其他开发工具。包括如何使用Oracle SQL Developer和其他开发工具、使用Oracle Database Home Page、在Oracle中使用SQL*Plus等方面。
本专题为QL SELECT语句基础。侧重概述了如何使用SELECT来访问SQL数据库中所有内容以及组成SELECT语句的许多子句名称和功能;同时还阐述了如何使用DISTINCT关键字消除重复的行,以及如何正确使用ORDER BY子句来排序数据。
最新更新
专家答疑
技巧
Brian Fedorko
Oracle数据库审计功能十分强大、灵活并且易于配置,适当并有效地使用数据库审计功能是拥有高效安全策略的基础。
Brian Peasland
Oracle数据库二进制文件和库文件是高版本版本的,而备份的数据库内部如果仍然是较低版本,那么Oracle将不允许你打开数据库,除非你完成了升级过程。
Maria Anderson
在Windows XP环境下,使用数据库升级助手将Oracle从9.2.0.1升级到10g R2,出现DBUA不能识别Oracle数据库的SID问题如何解决。

登录TechTarget中国

关闭
本服务仅向TechTarget中国的会员开放,请登录或立即免费注册
登录Email
请输入您的登录Email
密码
下次自动登录