SQL> drop table test purge;
Table dropped.
SQL> create table test as select * from dba_objects;
Table created.
SQL> select owner, table_name name, object_type, stale_stats, last_analyzed
from dba_tab_statistics
where table_name in ('TEST')
and owner = 'TEST'
and (stale_stats = 'YES' or last_analyzed is null); 2 3 4 5
OWNER NAME OBJECT_TYPE STA LAST_ANAL
------------------------------ ------------------------------ ------------ --- ---------
TEST TEST TABLE
开始搜集统计信息:
SQL> select owner, table_name name, object_type, stale_stats, last_analyzed
from dba_tab_statistics
where table_name in ('TEST')
and owner = 'TEST'
and (stale_st
查看统计信息是否过期
最新推荐文章于 2023-09-19 21:04:53 发布
本文通过示例展示了如何在Oracle中检查和管理表的统计信息,包括创建和删除表、收集统计信息、判断统计信息是否过期。通过`dba_tab_statistics`视图查询,当`stale_stats='YES'`或`last_analyzed`为空时,表明统计信息可能过期。此外,使用`dbms_stats`包更新统计信息,并观察数据变更对统计信息的影响。通过`all_tab_modifications`视图可以跟踪表的插入、更新和删除操作,以判断统计信息何时可能需要更新。
摘要由CSDN通过智能技术生成