可通过dba_ind_statistics和dba_tab_statistics中的
LAST_ANALYZED字段,观察是否完成了统计信息的收集,只有完成的收集工作才会记录在这两个视图中。
测试过程如下(测试环境11.2.0.3 RAC):
1 创建一个200w行左右的测试表,数据源为dba_objects。
2 查看视图中统计信息:
select a.OWNER,a.INDEX_NAME,a.TABLE_NAME,a.LAST_ANALYZED from dba_ind_statistics a where table_name='STATEST1' and table_owner='YCR'
select b.TABLE_NAME,b.OWNER,b.LAST_ANALYZED from dba_tab_statistics b where table_name='STATEST1' and owner in ('YCR')
通过观察得到,索引的统计信息为索引创建时自动收集,表的统计信息为空。
3 手工收集统计信息,在执行约38秒时手工中断(已通过测试,此表收集统计信息约需要60秒)
begin
dbms_stats.gather_table_stats(ownname => 'YCR',tabname => 'STATEST1' ,estimate_percent => 100 ,cascade => true);
end;
/
4 查看视图中统计信息:
select a.OWNER,a.INDEX_NAME,a.TABLE_NAME,a.LAST_ANALYZED from dba_ind_statistics a where table_name='STATEST1' and table_owner='YCR'
select b.TABLE_NAME,b.OWNER,b.LAST_ANALYZED from dba_tab_statistics b where table_name='STATEST1' and owner in ('YCR')
因为统计信息并未收集完全,所以此二表中的数据并无变化,再次收集统计信息完成后,表中信息才更新。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
原文链接:http://blog.itpub.net/29135257/viewspace-2150421/