注册
检查统计信息是否更新,以及批量处理未更新的统计信息
技术分享/ 文章详情 /

检查统计信息是否更新,以及批量处理未更新的统计信息

Chai 2025/04/03 40 0 0

–检查模式下面的统计信息是否更新以及更新时间
select * from dba_tables where (OWNER NOT LIKE ‘SYS%’ AND OWNER NOT LIKE ‘SCH%’)
AND (LAST_ANALYZED is null or LAST_ANALYZED < ‘2025-3-10 00:00:00’) and owner=‘SJHZK’;

–循环更新部分未更新统计信息的表,更新时间为null或者更新时间小于25年3月10日的
BEGIN
FOR TB IN
(
select TABLE_NAME from dba_tables where (OWNER NOT LIKE ‘SYS%’ AND OWNER NOT LIKE ‘SCH%’)
AND (LAST_ANALYZED is null or LAST_ANALYZED < ‘2025-3-10 00:00:00’) and owner=‘ECOLOGY_TARGET’
)
LOOP
BEGIN
DBMS_STATS.GATHER_TABLE_STATS(‘ECOLOGY_TARGET’, TB.TABLE_NAME, NULL, 100, TRUE, ‘FOR ALL COLUMNS SIZE AUTO’);
END;

END LOOP;
END;

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服