温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何查看统计信息是否成功收集

发布时间:2020-08-11 13:40:43 来源:ITPUB博客 阅读:263 作者:kisslfcr 栏目:关系型数据库
可通过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')
因为统计信息并未收集完全,所以此二表中的数据并无变化,再次收集统计信息完成后,表中信息才更新。
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI