【发布时间】:2020-02-01 08:19:14
【问题描述】:
我有一个包含 3 个字段(用户名、目标值、分数)的表,由用户名 (~400,000) 和目标值 (~4000) 的完整交叉和计算分数在外部生成,总行数约为 16 亿.
我在这张表上的所有查询都将采用
的格式SELECT *
FROM _table
WHERE target_values IN (123, 456)
我的初始版本包括关于 target_values 的 BTREE 索引,但我最终花了 45 分钟对索引进行 BITMAP HEAP SCAN。 我也一直在研究 BRIN 索引、分区和表集群,但由于将每种方法应用于表需要数小时,我无法完全强制每个选项并测试性能。
对于在 Postgres 10 中处理具有非常“块状”数据的单个海量表有哪些建议?
【问题讨论】:
标签: database postgresql indexing database-partitioning