【问题标题】:How to know the statistics are up to date in Oracle Database?如何知道 Oracle 数据库中的统计信息是最新的?
【发布时间】:2019-10-22 20:54:04
【问题描述】:

如何知道统计数据是最新的,有什么方法可以找到上次统计数据的计算时间?

我只需要查看 dba_tab_statistics 视图的 stale_stats 和 last_analyzed 列吗?

【问题讨论】:

  • 是的,这是通常的处理方式(last_analyzed 也可以在 all_tables 中找到)。您对其中看到的信息不满意吗?
  • 我不确定这是否是唯一的方法。 @GMB
  • 由于它被标记为 12c,除非您更改了默认配置,否则 Oracle 有一项工作可以在一夜之间自动收集它判断为具有陈旧统计信息的任何表的统计信息。除非您的表的使用模式不适用于该作业(即,在收集统计信息时一夜之间为空的临时表,作为白天 ETL 运行的一部分加载了数百万行),您可能不需要过分关心这个。

标签: oracle oracle12c database-performance sql-tuning


【解决方案1】:

您可以在 XXX_TABLES 视图中找到它(例如 DBA_TABLES、USER_TABLES、ALL_TABLES)。您要查找的列是 LAST_ANALYZED,例如

SELECT OWNER, TABLE_NAME, LAST_ANALYZED
  FROM USER_TABLES

dbfiddle here

【讨论】:

    猜你喜欢
    • 2011-10-17
    • 1970-01-01
    • 2015-11-10
    • 2011-01-30
    • 2023-02-08
    • 2022-01-20
    • 2010-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多