Oracle数据库中有关CBO优化的三个问题

原创 2007年10月08日 11:57:00
一.如何使用CostBased优化器优化查询操作?
  Oracle 提供了基于成本(CostBased)和基于规则(RuleBased)两种优化器,简称为CBO和RBO,用于确定查询操作的执行计划。CostBased优化器将计算各种执行计划的开销,然后选出最低成本的执行计划。可使用下列方法选择使用CBO:
  1.在INIT.ORA文件中设置参数OPTIMIZER_MODE=choose;
  2.在Session级设置OPTIMIZER_GOAL=FIRST_ROWS或ALL_ROWS。
  3、在查询语句中使用Hint,包括CHOOSE、ALL_ROWS、FIRST_ROWS等。
  二.为什么我的执行计划不是最好的?
  CBO是依赖于表的一些统计信息来选择出最低成本的执行计划,当这些统计信息不准确时,产生的计划便可能不是最佳的。因而应使用ANALYZE命令及时对表进行分析统计。
  三.我的查询上周的性能很好,为什么现在查询速度很慢?
  这是由于执行计划被改变而造成的,下列因素将会改变一个执行计划:
  1、INIT.ORA文件中的参数OPTIMIZER_MODE被改变;
  2、表上定义或改变了并行查询度;
  3、使用ANALYZE命令重新分析了表,而且使用了ESTIMATE方式,这种方式选择不同的百分比可产生不同的分析结果;
  4、DB_FILE_MULTIBLOCK_READ_COUNT参数被修改;5、SORT_AREA_SIZE参数被修改。

基于CBO的SQL优化和Oracle实例优化

SQL优化是数据优化的重要方面,本文将分析Oracle自身的CBO优化,即基于成本的优化方法。Oracle为了自动的优化sql语句需要各种统计数据作为优化基础。外面会通过sql的追踪来分析sql的执行...
  • sdksdk0
  • sdksdk0
  • 2017年12月08日 22:21
  • 672

RBO和CBO的基本概念

原文链接:http://www.cnblogs.com/kerrycode/p/3842215.html Oracle数据库中的优化器又叫查询优化器(Query Optimizer)。它是SQL分析...
  • u011410254
  • u011410254
  • 2015年11月12日 15:05
  • 910

Oracle中CBO优化器简介

Oracle中优化器简介       Oracle数据库中的优化器是SQL分析和执行的优化工具。它负责制定SQL的执行计划,也就是它负责保证SQL的执行计划的效率最高,比如优化器决定Oracle以什么...
  • u011715137
  • u011715137
  • 2013年10月30日 10:48
  • 1685

SQL优化-基于数据访问路径的CBO成本计算模型

数据访问路径主要分为全表扫描和索引扫描两种方式,索引扫描具体细分为索引唯一扫描、索引范围扫描、索引全扫描、索引快速全扫描和索引跳跃扫描。   下面分别对全表扫描和索引扫描的成本进行计算,在进行计算...
  • liaocongyuan1314
  • liaocongyuan1314
  • 2016年03月14日 17:57
  • 499

如何使用CBO,CBO与RULE的区别

Oracle的优化器有两种优化方式,即基于规则的优化方式(Rule-Based Optimization,简称为RBO)和基于代价的优化方式(Cost-Based Optimization,简称为...
  • u012841509
  • u012841509
  • 2014年02月08日 21:49
  • 1061

隐马尔科夫模型 (HMM) 中的三个主要问题及相关算法 (待续)

本文针对HMM中的三个主要问题:评价(Evaluation or Likelihood Computation)、解码(Decoding) 和训练 (Training) 以及其对应的算法给以详细的介绍...
  • jiacli
  • jiacli
  • 2015年03月22日 08:16
  • 2786

ORACLE优化器之RBO与CBO

转载自:潇湘隐者 http://www.cnblogs.com/kerrycode/p/3842215.html基础概念Oracle发展历程:5->6->7->8->8i->9i->10g->11g-...
  • wuya814070935
  • wuya814070935
  • 2017年06月07日 15:37
  • 370

优化器CBO知识点

ORACLE 提供了基于成本(CostBased)和基于规则(RuleBased)两种优化器,简称为CBO和RBO,用于确定查询操作的执行计划。 一、如何使用CostBased优化器优化查询...
  • guoyJoe
  • guoyJoe
  • 2013年02月06日 22:46
  • 1035

CBO和RBO优化器

A、RBO方式:优化器在分析SQL语句时,所遵循的是Oracle内部预定的一些规则。比如我们常见的,当一个where子句中的一列有索引时去走索引。 在8i之前,Oracle使用的是RBO(Rule ...
  • zhaoyangjian724
  • zhaoyangjian724
  • 2014年08月30日 20:46
  • 374

Oracle中Hint深入理解(原创)

http://czmmiao.iteye.com/blog/1478465 Hint概述  基于代价的优化器是很聪明的,在绝大多数情况下它会选择正确的优化器,减轻了DBA的负担。但有时它也...
  • whbo111
  • whbo111
  • 2016年09月08日 11:26
  • 345
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Oracle数据库中有关CBO优化的三个问题
举报原因:
原因补充:

(最多只允许输入30个字)