【发布时间】:2016-07-18 08:54:42
【问题描述】:
我有一个非常具体的问题。我有大约 40000 列的数据。数据是非规范化的,因为实时处理需要很多时间。
Postgresql 对列号 1600 有限制。有人可以建议我一个没有此限制的数据库吗?
或者如果不是数据库,该方法怎么能存储很宽的数据?
事实证明,对较小的表进行分区是一项乏味的任务,因为在使用特定过滤器执行特定查询时加入它们可能会非常麻烦。我已经试过了。
谢谢!
编辑:
census.gov/programs-surveys/acs/data.html 这是数据集。 示例表:
编号某条街上的人:
列:人数、年龄
而且这些组合越来越高。包括种族、性别、国籍等。有你的 40000 列。并且这些列不能即时计算。需要预先计算并存储它以加快阅读速度 – Forsythe 15 分钟前
【问题讨论】:
-
我很好奇添加 40000 列的行如何比使用正确的 SQL 连接和查询的规范化数据更快?
-
40000 列?严重地?很想知道这些数据代表什么。这应该会给出哪里出错的线索。
-
好吧,我知道没有办法,列限制是你无法打破的......所以如果你能举个例子,我们可能会更好地理解并为你提供解决方案的先机
-
那么你的问题真的是你无法编写合适的动态查询来查询多个表吗?不要因为写 SELECT 很麻烦就在一张表里塞这么多列,如果你只是想把它当作一张大表,最好不用 RDBMS。
-
我不明白您为什么不能正确规范化该数据?
标签: database postgresql denormalization