ITPub博客

首页 > Linux操作系统 > Linux操作系统 > dbms_stats 在9i和10g里的不同行为

dbms_stats 在9i和10g里的不同行为

原创 Linux操作系统 作者:棉花糖ONE 时间:2009-11-21 17:41:33 0 删除 编辑

9i :

ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,         --> ALL partitions
estimate_percent NUMBER DEFAULT NULL,   --> 100% sample
block_sample BOOLEAN DEFAULT FALSE,
method_opt VARCHAR2 DEFAULT 'FOR ALL COLUMNS SIZE 1',
degree NUMBER DEFAULT NULL,             --> parallel degree 1
granularity VARCHAR2 DEFAULT 'DEFAULT', --> level (PARTITION + GLOBAL)
cascade BOOLEAN DEFAULT FALSE,          --> does not cascade to indexes by default
no_invalidate BOOLEAN DEFAULT FALSE; 

10g:

ownname VARCHAR2,
tabname VARCHAR2,
partname VARCHAR2 DEFAULT NULL,         --> ALL partitions

estimate_percent    DBMS_STATS.AUTO_SAMPLE_SIZE

block_sample BOOLEAN DEFAULT FALSE,
method_opt VARCHAR2 DEFAULT 'FOR ALL COLUMNS SIZE auto',
degree NUMBER DEFAULT NULL,             --> parallel degree 1

no_invalidate BOOLEAN DEFAULT       AUTO 

1.

9i里注意在收集统计信息的时候设置cascade=>true ,否则将不收集索引的统计信息

2.

10g里注意estimate_percent为auto_sample_size并不是100%,而且10g里的auto_sample_size采样的值一般比较小,因此建议不要使用默认值,而是设置estimate_percent为30%以上,11g里的auto_sample_size采用的值就比较大,estimate_percent的值太小容易导致sql 的执行计划出现问题

3.

method_opt在9i里的设置是for all columns size 1,就是只收集最大值和最小值不收集直方图的信息 ,10g里method_opt的设置for all columns size auto由oracle根据col_usage$里的数据来决定是否收集直方图,因此在oltp的业务中,一定要注意10g里默认收集直方图对应用造成的影响(如bind_peeking,cursor_sharing=similar)

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/8984272/viewspace-620218/ ,如需转载,请注明出处,否则将追究法律责任。

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-11-17

  • 博文量
    19
  • 访问量
    72274