如何打印SQL表的列统计信息,如唯一值的数量、最大值和 最小值我对命令行工具csvstat或Panda的 注意:我不想把数据完全加载到内存中,这样熊猫就可以分析它们了。 有没有任何命令行工具可以实时读取SQL数据来创建这些统计数据?describe
和min
/max
/mean
方法打印出来的统计数据感兴趣。
如果您只需要一个粗略的估计,您可以访问Oracle的数据字典的统计信息,Oracle通常每天都会自动维护这些统计信息。表ALL_TAB_COL_STATISTICS
具有多个不同的值、多个null以及最小值和更多值。
该文档称,特定列的最小值和最大值保存在ALL_TAB_COL_STATISTICS
表中的列LOW_VALUE
和HIGH_VALUE
中,但这些列是数据类型RAW(1000)
,因此可能需要对这些列中的数据进行解码。
如果偶尔需要获得更好的估计,可以在查询ALL_TAB_COL_STATISTICS
表之前调用dbms_stats.gather_table_stats过程。