收集统计信息
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/