OracleTT.Com - 搜集互联网免费Oracle教程,免费Oracle视频教程,起步从这里开始!

Oracle数据库学习_Oracle书籍下载_MySQL书籍下载_Oracle免费视频教程 - OracleTT.Com

当前位置: 主页 > 性能诊断 >

如何找出没有收集统计信息或者统计信息过期的表

时间:2011-11-01 20:32来源:robinson1988 作者:s.o.m 点击:
--通过包来刷新数据库监控信息exec dbms_stats.flush_database_monitoring_info;--找到从未收集过统计信息或者统计信息过期的表select owner,table_name,object_type,stale_stats,last_analyzed fromdba_tab_statistics wh
--通过包来刷新数据库监控信息
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%';
 
--在SQL调优之前,我们就要看表的统计信息是否过期,若过期,CBO就可能选择错误的执行计划
select owner,table_name,object_type,stale_stats,last_analyzed 
from 
dba_tab_statistics 
where owner='&owner' and table_name='&table_name';
(责任编辑:OracleTT)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片