您的位置:首页 > 其它

如何 找出未收集统计信息,以及统计信息过期的表

2016-02-26 11:00 330 查看

下面这个查询可以找到从未收集过统计信息或者统计信息过期的表。

EXEC DBMS_STATS.FLUSH_DATABASE_MONITORING_INFO;

SELECT OWNER,TABLE_NAME,OBJECT_TYPE,STALE_STATS,LAST_ANALYZED FROM

DBA_TAB_STATISTICS WHERE (STALE_STATS='YES' OR LAST_ANALYZED IS NULL)

AND OWNER NOT IN ('SYS', 'SYSTEM', 'SYSMAN', 'DMSYS', 'OLAPSYS', 'XDB','EXFSYS', 'CTXSYS',

'WMSYS', 'DBSNMP', 'ORDSYS', 'OUTLN', 'TSMSYS', 'MDSYS') AND TABLE_NAME NOT LIKE 'BIN%';

在进行调优之前,我们就要看表的统计信息是否过期,如果过期了,CBO就可能选择错误的执行计划。

SELECT OWNER,TABLE_NAME,OBJECT_TYPE,STALE_STATS,LAST_ANALYZED FROM DBA_TAB_STATISTICS WHERE OWNER='&OWNER' AND TABLE_NAME='&TABLE_NAME';

来自 </article/1666901.html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: