首页 > 数据库 > Oracle > 正文

Oracle Optimizer:迁移到使用基于成本的优化器-----系列1.4

2024-08-29 13:30:49
字体:
来源:转载
供稿:网友
,欢迎访问网页设计爱好者web开发。
oracle optimizer:迁移到使用基于成本的优化器-----系列1.4

3.2.3最低要求

    用cbo的最低要求是设置优化器模式为frist_rows或者all_rows(或choose)并为对象生成统计资料。然而,这并不能保证你的系统能工作到最佳状态。参照第二部分(初始化参数)涉及初始化参数的信息.

    不管是否设置优化器模式。如果有以下情况之一,cbo将会自动调用:

     1.用到提示.
     2.用到分区表.
     3.设置并行表


3.2.4为什么要移去rbo?

     oracle 9i第二版将是最后一个正式支持cbo的版本。 oracle推荐所有合作伙伴和客户验证使用cbo的应用程序,尽管rbo在oracle10i(现在称oracle10g)仍然可用,但不受支持。
     作为每一个已发布的oracle笔记中,rbo的存在妨碍了oralce对查询处理引擎的关键增强.它的移除将允许oracle提高数据库引擎查询处理组件的性能和可靠性。
     目前,oracle 对rbo的支持仅仅用以有限的错误修正并且oracle对rbo没有添加新的功能.

3.2.5 为什么移至cbo?

    cbo主要获益如下:

    1.以后oracle停止rbo环境的开发.

    2.随后的oracle数据库将移除rbo

    3.同cbo相比,rbo的访问方法是有限数量的.

    4.所有新功能基于cbo,这些大多数新功能对于设置等等是重要的。簇索引表,位图索引,基于函数的索引,反向索引,哈希连接,物化视图,索引表,和并行查询, 星型连接等

    5.媒介链接支持.

    6.一旦rbo不受支持,oracle支持也不可用。

    7.cbo已经成熟

     先前oracle7中,rbo在某些场景胜过cbo,甚至cbo并不是如想像中完好,并且经常选择糟糕的执行计划。以后的发行版本中,cbo功能获得了提升,现在对于新功能,它提供了对考虑收益的较好交互性

    8.分布式和远程查询更加可靠

在rbo中,数据库链接,从本地到远程数据库多于一个表的查询调整相当困难.同样的工作,cbo胜过了rbo。本地优化器知道远程表的目前统计信息,并且对于执行计划能做出更好的决定.rbo可能考虑远程数据库的索引,但是cbo有权利统计远程数据库索引的信息并对查询计划做出决定.

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表