共计 650 个字符,预计需要花费 2 分钟才能阅读完成。
丸趣 TV 小编给大家分享一下数据库中怎么找出未收集统计信息以及统计信息过期的表,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!
下面这个查询可以找到从未收集过统计信息或者统计信息过期的表。
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
看完了这篇文章,相信你对“数据库中怎么找出未收集统计信息以及统计信息过期的表”有了一定的了解,如果想了解更多相关知识,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!