0

oracle 19 中是否存在扩展元数据表,包含所有表的列统计信息?我知道有一个表 ALL_TAB_COL_STATISTICS 存储直方图、最小值、最大值、num 个不同的值等,但我需要其他统计信息,例如平均值、中位数或百分位数?如果有这样的统计表,如何以及何时更新表?我不想自己计算统计数据,但想将它们提取为元数据。

谢谢你的帮助。

4

1 回答 1

2

我相信您正在寻找甲骨文从未打算过的东西。Oracle 统计信息是对 CBO(基于成本的优化器)有用的信息,用于确定任何 SQL 语句的最佳执行计划。它存储有关存储在那里的数据的密度和基数的信息,但您需要分析数据,这不是这些统计数据的目的。

您可能总是依靠 Oracle Functions 来检索这些:

select avg(column) as mean_rating , MEDIAN(column) OVER () AS median_value from 
yourtable

关于百分位数,我会检查 PERCENTIL_CONT 和 PERCENTILE_DISC。但就像我说的,你不会在任何元数据字典表中找到这些。

于 2020-06-24T06:11:55.060 回答