如何解决如何像pandas的`describe`命令一样为DataFrame打印Oracle SQL表的列统计信息
如何打印SQL表的列统计信息,例如唯一值数量, max 和 min值,等等?>
我对统计信息感兴趣,可以打印出命令行工具csvstat或熊猫的describe
和min
/ max
/ mean
方法。
注意:我不是要完全将数据加载到内存中,以便熊猫可以对其进行分析。
是否有任何命令行工具可以即时读取SQL数据以创建这些统计信息?
解决方法
如果您只需要粗略估算,则可以访问Oracle数据字典的统计信息,该统计信息通常由Oracle每天自动维护。表 static string SerializeWithoutQuote(object value)
{
var builder = new StringBuilder();
var serializer = JsonSerializer.Create();
var stringWriter = new StringWriter(builder);
using (var jsonWriter = new JsonTextWriter(stringWriter))
{
jsonWriter.Formatting = Formatting.Indented;
jsonWriter.QuoteName = false;
serializer.Serialize(jsonWriter,value);
return builder.ToString();
}
}
包含许多不同的值,空值以及最小值和更多内容。
documentation表示ALL_TAB_COL_STATISTICS
表的LOW_VALUE
和HIGH_VALUE
列中保留了特定列的最小值和最大值,但这些列是数据类型ALL_TAB_COL_STATISTICS
,因此可能需要对这些列中的数据进行解码。
如果您偶尔需要获得更好的估计,可以在查询RAW(1000)
表之前调用dbms_stats.gather_table_stats过程。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。