收集统计信息语句详解

收集统计信息
exec DBMS_STATS.GATHER_TABLE_STATS(ownname=>'DBACCADM',tabname=>'CS_CUSTPREOPEN_INFO_CHG',estimate_percent=>10,method_opt=>'for all columns size 1',no_invalidate=>false,cascade=>true,degree => 10);

estimate_percent 指明是否采样收集统计信息,100等于NULL,表示不使用采样,移动工作中一般使用10,表示10%的采样。此值一般小于10。

block_sample 指明是否采用数据行采样或者数据块采样来收集统计信息,行采更精确,块采样更快速。

method_opt 不但指明是否收集直方图的统计信息还指明采样的最大桶数,9i默认值为 for all columns size 1,10g以后则默认为for all       columns size auto

no_invalidate 指明是否使与收集的对象相关的游标失败,9i以前默认值为false,10g以后则默认为dbms_stats.auto_invalidate

cascade  DBMS_STATS 默认不对索引进行Analyze,因为默认Cascade是False,需要手工指定为True

degree 表示并行,指明收集一个对象统计时所用的从属进程数量,默认为null

统计信息有以下几种收集
gather_database_stats 收集整个数据库的对象统计信息
gather_dictionary_stats 收集整个数据字典的对象统计信息
gather_fixed_objects_stats 收集整个数据字典里面的固定表的对象统计信息
gather_schema_stats 收集整个模式所有对象的对象统计信息
gather_table_stats 收集表(索引可选)统计信息
gather_index_stats 收集索引统计信息

execute dbms_stats.set_param(pname=>'CASCADE',pval=>'TRUE');
修改参数cascade的默认值为TRUE
execute dbms_output.put_line(dbms_stats.get_param(pname=>'CASCADE'));
查询参数cascade的默认值
显示为TRUE

11g开始统计信息开始自动维护了
涉及收集统计信息的命令dbms_stats,create index,alter index,analyze也会收集对象的统计信息

统计信息的默认保留日期为31天
select dbms_stats.get_stats_history_retention() as retention from dual;

dbms_stats.alter_stats_history_retention(retention =>14)

ora tstat tabname owner 
获取表的统计信息,包括分区名,行数、块数,大小,分析日期等

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

转载于:http://blog.itpub.net/28686045/viewspace-1815694/

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值