【发布时间】:2018-03-06 19:38:45
【问题描述】:
我有一个大约 3 * 10 ^ 12 行(3 万亿)的表格,但只有 3 个属性。
在此表中,您将获得 2 个个体的 ID 以及它们之间的相似度(它是一个介于 0 和 1 之间的数字,我将其乘以 100 并放入 smallint 以减少空间)。
事实证明,对于我想要进行研究的某个个人,我需要对这些列进行汇总,并返回有多少个人具有高达 10%、20%、30% 的相似度。这些值是固定的(每 10 个),直到相同的个体(100%)。
但是,你可能知道,查询会很慢,所以我想:
- 创建一个新表以保存汇总值
- 创建一个 VIEW 来保存这些值。
由于个人大约有 170 万,因此搜索不会那么耗时(如果被编入索引,返回速度很快)。那么,我该怎么办?
我想指出,我的人口几乎是固定的(在DB完全填充后,预计几乎不会增加)。
【问题讨论】:
标签: postgresql view create-table postgresql-9.6