文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > Oracle的优化器的RBO和CBO方式
侵权投诉

Oracle的优化器的RBO和CBO方式

Oracle的优化器的RBO和CBO方式

Oracle的优化器的RBO和CBO方式


1、基于规则的优化方式(Rule-Based Optimization,简称为RBO)

优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则,对数据是不敏感的。它只借助少量的信息来决定一个sql语句的执行计划,包括:
1)sql语句本身
2)sql中涉及到的table、view、index等的基本信息
3)本地数据库中数据字典中的信息(远程数据库数据字典信息对RBO是无效的)
例如:我们常见的,当一个where子句中的一列有索引时去走索引。但是需要注意,走索引不一定就是优的,比如一个表只有两行数据,一次IO就可以完成全表的检索,而此时走索引时则需要两次IO,这时全表扫描(full table scan)的效率更优。


2、基于代价的优化方式(Cost-Based Optimization,简称为CBO)

它是看语句的代价(Cost),通过代价引擎来估计每个执行计划所需的代价,该代价将每个执行计划所耗费的资源进行量化,CBO根据这个代价选择出最优的执行计划。一个查询所耗费的资源可分为三部分:I/O代价、CPU代价、NETWORK代价。I/O是指把数据从磁盘读入内存时所需代价(该代价是查询所需最主要的,所以在优化时一个基本原则就是降低I/O总次数);CPU代价是指处理内存中数据所需的代价,数据一旦读入内存,当我们识别出我们所要的数据后,会在这些数据上执行排序(sort)或连接(join)操作,这需要消耗CPU资源;对于访问远程节点来说,network代价的花费也是很大的。
优化器在判断是否用这种方式时,主要参照的是表及索引的统计信息。统计信息给出表的大小、有多少行、每行的长度等信息。这些统计信息起初在库内是没有的,是做analyze后才出现的,很多的时侯过期统计信息会令优化器做出一个错误的执行计划,因些应及时更新这些信息(dbms_stat.analyze)。
如星型连接排列查询,哈希连接查询,函数索引,和并行查询等一些技术都是基于CBD的。


3、优化模式包括Rule、Choose、First rows、All rows四种方式:

Rule:基于规则的方式。
Choolse:默认的情况下Oracle用的便是这种方式。指的是当一个表或或索引有统计信息,则走CBO的方式,如果表或索引没统计信息,表又不是特别的小,而且相应的列有索引时,那么就走索引,走RBO的方式。
First Rows:它与Choose方式是类似的,所不同的是当一个表有统计信息时,它将是以最快的方式返回查询的最先的几行,从总体上减少了响应时间。
All Rows:也就是我们所说的Cost的方式,当一个表有统计信息时,它将以最快的方式返回表的所有的行,从总体上提高查询的吞吐量。没有统计信息则走RBO的

第1页

你可能喜欢

热门文档

相关文档

  • DBA技能之:详介oracle的RBO和CBO优化器

    详介oracle 的 RBO/CBO 优化器 Oracle 的优化器有两种优化方式,即基于规则的优化方式(Rule-Based Optimization, 简称为 RBO)和基于代价的优化方式(Cost-Based ...

  • Oracle的优化器-RBO、CBO及其变迁

    Oracle的优化器-RBO、CBO及其变迁_IT/计算机_专业资料。ORACLE 提供了CBO、RBO两种SQL优化器。CBO在ORACLE7 引入,但在ORACLE8i 中才成熟。ORACLE 已经明确声明在ORAC...

  • Oracle的优化器理解

    Oracle的优化器:RBO/CBO,RULE/CHOOSE/FIRST_ROWS/ALL_ROWS名词解释 Oracle的优化器有两种优化方式,即基于规则的优化方式(Rule-Based Optimization,简称为 RBO)和...

  • oracle cbo rbo 详解

    oracle cbo rbo 详解 Oracle 2010-11-01 19:50:35 阅读 65 评论 1 字号:大中小 订阅 中 转载 ORACLE 提供了 CBO、 RBO 两种 SQL 优化器。 CBO 在 ...

  • Oracle--CBO--与-RBO

    Oracle CBO 与 RBOOracle CBO 与 RBO Oracle的优化器有两种优化方式:基于规则的优化方式:Rule-BasedOptimization(RBO)基于成本或者统计信息的优化方式(Cost-Based...

  • oracle CBO RBO SQL优化器

    oracle CBO RBO SQL优化器oracle CBO RBO SQL优化器隐藏>> oracle CBO RBO SQL 优化器 ORACLE 提供了 CBO、 RBO 两种 SQL 优化器。 CBO 在 ORACLE7 引入, ...

  • RBO与CBO 04

    描述Oracle优化器的功能 ? 分辨RBO和CBO的不同 ? 确认RBO和CBO的使用环境 ? ..._mode = {choose rule first_rows all_rows} First_rows优化方法 ?...

  • Oracle优化器介绍(精简完善版)

    Oracle 优化器介绍本文讲述了 Oracle 优化器的概念、工作原理和使用方法,兼顾了...RBO 优化器 RBO 是一种基于规则的优化器,随着 CBO 优化器的逐步发展和完善,...

  • Oracle的优化器

    RBO From Begin->Oracle10g开始退出历史舞 台 CBO From Oracle7(1992)--->Oracle10g主 要支持的优化器 Copyright 2004(eygle)版权所有 The Different! Copyright...

  • CBO 和 RBO

    CBO 和 RBO_IT/计算机_专业资料。CBO 和 RBO1、 基于规则的优化方式(Rule-Based Optimization,简称为RBO) 优化器在分析SQL语句时,所遵循的是 Oracle内部预定的一...

站点地图 | 文档上传 | 侵权投诉 | 手机版
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.guandang.net All Rights Reserved.  -  email