oracle-收集统计信息

转载来源:Oracle统计信息的收集和维护_oracle收集统计信息_Floating warm sun的博客-CSDN博客

手动收集统计信息

部分参数说明:
(1)estimate_percent:表示选择的采样比例,如果太低,收集速度会快,但可能不会很准确,如果太高,收集速度会慢,但比较准确,各有利弊,默认是100%。
(2)degree:并行统计信息收集,应根据对象的大小和并行性初始化参数的设置选择恰当的并行度,默认为null。
(3)cascade:表示是否收集对应的索引、列等的统计信息。
(4)granularity:有四个可选项:
all:采集global、partition、subpartition等粒度统计信息。
auto:根据分区类型,由Oracle确定统计信息采集粒度。
partition:只采集partition粒度统计信息。
subpartition:只采集subpartition粒度统计信息。

全库收集

begin
dbms_stats.gather_database_stats(ESTIMATE_PERCENT=>DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'for all indexed columns size auto', cascade=>true, degree=>8);
end;
/

schmea收集

exec dbms_stats.gather_schema_stats(ownname=>'scott',estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,degree=>8,cascade=>true,granularity=>'ALL');

表收集

exec dbms_stats.gather_table_stats(ownname=>'scott',tabname=>'DEPT30_TEMP',estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,degree=>8,cascade=>true,granularity=>'ALL');

分区收集

begin
dbms_stats.gather_table_stats(ownname => ‘SCOTT’,
tabname => ‘表名’,
partname = ‘分区名’,
estimate_percent = DBMS_STATS.AUTO_SAMPLE_SIZE,
degree => 8,
cascade => true,
granularity => ‘PARTITION’,
method_opt > ‘FOR ALL INDEXED COLUMNS’);
end;
/

数据字典收集

exec dbms_stats.gather_dictionary_stats (estimate_percent=>DBMS_STATS.AUTO_SAMPLE_SIZE,degree=>8,cascade=>true,granularity=>'ALL');

动态性能表统计信息

exec dbms_stats.gather_fixed_objects_stats;

硬件统计信息收集

–典型业务开始前
exec dbms_stats.gather_system_stats(‘START’);

–典型业务结束后
exec dbms_stats.gather_system_stats(‘STOP’);

锁定统计信息

对于有些表或者用户的数据基本不怎么发生变化,如果每次收集时也将其收集一边浪费资源,因此可以将这些表或者用户进行统计信息采集的锁定。
–锁定表
exec dbms_stats.lock_table_stats(‘owner name’,‘table name’);

–锁定整个schema
exec dbms_stats.lock_schema_stats (‘schema name’);

解除锁定:
–表
exec dbms_stats.unlock_table_stats(‘owner name’,‘table name’);

–schema
exec dbms_stats.unlock_schema_stats (‘schema name’);

删除统计信息

exec DBMS_STATS.DELETE_TABLE_STATS('scott','DEPT30_TEMP');

修改自动收集统计信息计划

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值