ITPUB??ì3
12月微软Hyper-V虚拟化沙龙主题征集
ITPUB论坛 » Oracle专题深入讨论 » 将OPTIMIZER_MODE设置为first_rows_100是否影响数据字典的访问性能?

标题: 将OPTIMIZER_MODE设置为first_rows_100是否影响数据字典的访问性能?
离线 ylsired
中级会员



精华贴数 1
个人空间 0
技术积分 847 (2266)
社区积分 11 (10320)
注册日期 2003-7-2
论坛徽章:0
      
      

发表于 2004-9-17 09:36 
将OPTIMIZER_MODE设置为first_rows_100是否影响数据字典的访问性能?

在9.2版本上,将OPTIMIZER_MODE设置为first_rows_100,但又不对sys下的表进行收集统计信息,是否影响数据字典的访问性能?Oracle在这种情况下,使用RBO还是CBO来执行RECURSIVE STATEMENTS?
正在准备移植到cbo模式,望经验之士帮忙。


只看该作者    顶部
离线 dlinger
凌波微步


精华贴数 15
个人空间 0
技术积分 14660 (78)
社区积分 3426 (413)
注册日期 2002-9-24
论坛徽章:9
ITPUB元老Heart of PUBITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念管理团队2006纪念徽章会员2007贡献徽章
会员2006贡献徽章ITPUB新首页上线纪念徽章    

发表于 2004-9-17 14:25 
呵呵,在9i下不要对sys用户的对象进行统计信息收集啊

这个在oracle 10G中才开始推荐用户做的


__________________
Rain or Shine, I am fine.[url="http://knight_dl.photo.163.com"]我的图片社,每天更新[/url]:cool:
只看该作者    顶部
离线 d.c.b.a
人生积极一点好


精华贴数 6
个人空间 0
技术积分 14167 (83)
社区积分 1359 (804)
注册日期 2004-2-19
论坛徽章:22
现任管理团队成员Heart of PUBITPUB北京九华山庄2008年会纪念徽章参与2007年甲骨文全球大会(中国上海)纪念ITPUB北京香山2007年会纪念徽章会员2007贡献徽章
生肖徽章2007版:猴ITPUB新首页上线纪念徽章    

发表于 2004-9-17 14:29 
会有影响的, sys的东东,最好用rule访问


__________________

专业Oracle/Shareplex技术支持服务, 管理, 培训, 调优, 备份, 恢复!

个人主页: 订阅AnySQL | AnySQL | dbatools | AUL Step by Step | OracleSOS.com
联系方法: MSN: anysql©live.com, Skype: anysql, QQ: 37223884
只看该作者    顶部
离线 ylsired
中级会员



精华贴数 1
个人空间 0
技术积分 847 (2266)
社区积分 11 (10320)
注册日期 2003-7-2
论坛徽章:0
      
      

发表于 2004-9-17 16:16 
sys的东东,最好用rule访问

那这样的话,是否就不能将初始化参数OPTIMIZER_MODE设置为first_row 或all_rows ?因为假如设置了,但sys下的表没有统计信息,oracle 是否会对sys表作动态采样,从而导致性能不好?
这样的话,first_row 或all_rows 有什么用啊,只能设置为choose 了,对吗?


只看该作者    顶部
离线 prada_gu
顾三


精华贴数 16
个人空间 0
技术积分 26214 (34)
社区积分 5550 (279)
注册日期 2001-12-22
论坛徽章:11
现任管理团队成员生肖徽章2007版:羊2008北京奥运纪念徽章:跳水2008北京奥运纪念徽章:柔道2008北京奥运纪念徽章:水球 
      

发表于 2004-9-17 16:47 
sys对象不能分析统计信息,不然数据库容易挂起的


__________________
心所向往的地方,会有千万条路通向那里;一旦心志不坚定,就会找到万千条推脱的理由。
常走的路越走越宽,不走的路渐渐荒芜。爱意芬芬
只看该作者    顶部
离线 ylsired
中级会员



精华贴数 1
个人空间 0
技术积分 847 (2266)
社区积分 11 (10320)
注册日期 2003-7-2
论坛徽章:0
      
      

发表于 2004-9-17 16:55 
作了一个简单的测试:

SQL> alter system set optimizer_mode=first_rows_100 scope=spfile;
System altered.

SQL> startup force;
ORACLE instance started.
Total System Global Area  521630120 bytes
Fixed Size                   737704 bytes
Variable Size             201326592 bytes
Database Buffers          318767104 bytes
Redo Buffers                 798720 bytes
Database mounted.
Database opened.
SQL> show parameter optimizer_mode
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
optimizer_mode                       string      FIRST_ROWS_100

SQL> alter session set events '10046 trace name context forever, level 12';

Session altered

SQL> select COUNT(*) from dba_objects where owner='EPCISUDWR';
  COUNT(*)
---------------
        124

SQL> SELECT COUNT(*) FROM EPCISUDWR.POLICY_SALE A WHERE A.DEPARTMENT_CODE LIKE '226%'


  COUNT(*)
-------------------
        573472

SQL> alter session set events '10046 trace name context off';
Session altered


作trace 文件作了tkprof 后,分析发现,只要是在SQLPLUS 中发出的语句(即NON-RECURSIVE STATEMENTS),其Optimizer goal 都是FIRST_ROWS,而对所有的RECURSIVE STATEMENTS,其Optimizer goal 却都是CHOOSE 。
-------NON-RECURSIVE STATEMENTS
select count(*)
from
dba_objects where owner='EPCISUDWR'

Misses in library cache during parse: 1
Optimizer goal: FIRST_ROWS
Parsing user id: SYS

SELECT COUNT(*)
FROM
EPCISUDWR.POLICY_SALE A WHERE A.DEPARTMENT_CODE LIKE '226%'

Misses in library cache during parse: 1
Optimizer goal: FIRST_ROWS
Parsing user id: SYS

--------RECURSIVE STATEMENTS(其中一句)

select o.owner#,o.name,o.namespace,o.remoteowner,o.linkname,o.subname,
o.dataobj#,o.flags
from
obj$ o where o.obj#=:1

Misses in library cache during parse: 0
Optimizer goal: CHOOSE
Parsing user id: SYS   (recursive depth: 1)

---------------
这是否可以说明,oracle 内部执行RECURSIVE STATEMENTS还是会自动改为choose 模式的,optimizer_mode的设置不影响,是RBO;
但是,对用户明确发出的访问数据字典的语句有影响,使用CBO。

对吗?


只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问