a我考网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 133|回复: 0

[考试试题] Oracle常见面试题及答案详解3

[复制链接]
发表于 2012-8-4 14:01:27 | 显示全部楼层 |阅读模式
3.      如何使用CBO,CBO与RULE的区别 ; i4 q4 f2 H6 h1 l  m1 f0 e
  IF 初始化参数 OPTIMIZER_MODE = CHOOSE THEN  --(8I DEFAULT)
8 o; b3 D4 T! m) K& r     IF 做过表分析
5 A# q9 {# g6 |* F' P2 `        THEN 优化器 Optimizer=CBO(COST);          /*高效*/
' H1 s) h: X$ y' K9 u     ELSE 7 U- w2 B2 Z1 {, o/ Y  o
        优化器 Optimizer=RBO(RULE);               /*高效*/
" D6 x+ v5 m0 U4 [4 Q     END IF;
0 K$ u) q: t1 @  END IF; / ?( s8 l+ K! B( P
  
- B& D8 b% o/ L% ~2 a0 R! ?  区别: 3 S; g* K; p: d! U: r1 H' h
  RBO根据规则选择最佳执行路径来运行查询。
8 q4 z% I6 a- @7 E  CBO根据表统计找到最低成本的访问数据的方法确定执行计划。
" N4 x3 `+ K5 R  使用CBO需要注意:
7 Y. n. U" j) Z' C  V1 |  I)  需要经常对表进行ANALYZE命令进行分析统计; 0 V' G5 ?/ l  Y& h8 R- y
  II) 需要稳定执行计划; & o# G8 m: `# r
  III)需要使用提示(Hint);
. c% T, M3 M  X3 Y  使用RULE需要注意: 1 h& r1 m, t8 k$ v5 ?* [7 B# q
I)  选择最有效率的表名顺序
: h- p, @! d6 k( q# X2 e; zII) 优化SQL的写法; & H9 _$ t& \- a' f; Q% ^2 P
在optimizer_mode=choose时,如果表有统计信息(分区表外),优化器将选择CBO,否则选RBO。  
0 l% N; g% ~; D8 sRBO遵循简单的分级方法学,使用15种级别要点,当接收到查询,优化器将评估使用到的要点数目,然后选择最佳级别(最少的数量)的执行路径来运行查询。  " W$ X  R, k" b# l
CBO尝试找到最低成本的访问数据的方法,为了最大的吞吐量或最快的初始响应时间,计算使用不同的执行计划的成本,并选择成本最低的一个,关于表的数据内容的统计被用于确定执行计划。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|Woexam.Com ( 湘ICP备18023104号 )

GMT+8, 2024-4-29 12:42 , Processed in 0.531569 second(s), 21 queries .

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表