【发布时间】:2017-03-28 17:50:04
【问题描述】:
我的数据对应于一个表中的 4 亿行,并且肯定会不断增加,我想知道我能做些什么才能在 PostgreSQL 中以一种仍然可以制作的方式拥有这样一个表使用它的复杂查询。换句话说,我应该怎么做才能以最高效的方式获取所有数据?
【问题讨论】:
-
取决于您的复杂查询。例如,您可以使用Inheritance 并按天对数据进行分区。
-
任何类型的查询,因为使用多个连接和正则表达式的查询到使用简单过滤器和聚合的查询,我的一个朋友建议使用分区,但我不知道它是否适合我的我每天收到 200 万行的情况。因为如果我每月划分它,它仍然会很大(大约 6000 万行),而且我每天都会有大量的表。
-
再次取决于您的要求。例如,我一天有 400 万,只是进行计算并删除旧数据。然后只查询合并的数据,而不是原始数据。
-
例如,如果我有一个关于我发送的电子邮件的表格,我想交叉客户信息以了解特定客户是否收到了特定电子邮件。这个查询有 8000 万条记录,速度已经很慢了。
-
我会投票结束,因为你的问题太模糊了。请阅读How-to-Ask 这里是START 了解如何提高问题质量并获得更好答案的好地方。
标签: postgresql postgresql-9.1 postgresql-9.3 postgresql-9.2 postgresql-9.4