小编pet*_*ter的帖子

可以使用 BRIN 索引代替 Postgres 中的表分区吗?

给定一个带有 GUID 和时间戳(以及一堆其他列)的仅附加表,该表可以增长约 50Mio 条目/年。我想保持较低的索引数量,只对由 id 查询的数据使用普通(B 树)索引。此外,数据将通过时间戳进行查询以进行分析。为此,我想按月或按年对表进行分区。

但是由于我的表只是附加的并且时间戳将非常连续(可能不是 100% 但通常我不会故意发布过去的项目)不应该 BRIN 索引基本上给我与表分区相同的功能手动创建子表而不是触发器的麻烦?(至少文档中是这样描述分区的:https : //www.postgresql.org/docs/current/static/ddl-partitioning.html

更新

也许是一些额外的背景——我考虑过按年或月对它进行分区,因为这是唯一可预测的事情。在这两种情况下,我都必须对该表执行查询,该查询将不包含任何时间戳信息,因此对于那些查询,我仍将使用 btree 索引,并且在 prtition postgresql 的情况下无法从查询中推断可以使用哪个较小的表(和索引)。

postgresql partitioning

6
推荐指数
1
解决办法
855
查看次数

标签 统计

partitioning ×1

postgresql ×1