如何打印Oracle SQL表的列统计信息,就像pandas的"描述"命令对数据帧所做的那样



如何打印SQL表的列统计信息,如唯一值的数量最大值

最小值我对命令行工具csvstat或Panda的describemin/max/mean方法打印出来的统计数据感兴趣。

注意:我不想把数据完全加载到内存中,这样熊猫就可以分析它们了。

有没有任何命令行工具可以实时读取SQL数据来创建这些统计数据?

如果您只需要一个粗略的估计,您可以访问Oracle的数据字典的统计信息,Oracle通常每天都会自动维护这些统计信息。表ALL_TAB_COL_STATISTICS具有多个不同的值、多个null以及最小值和更多值。

该文档称,特定列的最小值和最大值保存在ALL_TAB_COL_STATISTICS表中的列LOW_VALUEHIGH_VALUE中,但这些列是数据类型RAW(1000),因此可能需要对这些列中的数据进行解码。

如果偶尔需要获得更好的估计,可以在查询ALL_TAB_COL_STATISTICS表之前调用dbms_stats.gather_table_stats过程。

最新更新