我有大量的历史“关闭”行——三个月的数据,可能是 1 或 2 TB——以及少量的高流失率“开放”行——最多 3 天的数据,但大多数行可能几分钟后过渡到“关闭”状态。
理想情况下,我希望将这些作为单个概念表呈现给 SELECT 查询。
但在幕后,我热衷于通过 customer_id 对“封闭”行进行分区并积极压缩等等。对于“打开”行,我可能必须快速连续更新它们几次,然后才能最终将它们移动到“关闭”状态。
如何划分我的数据?
- MERGE 表似乎只是 myISAM
- SPIDER 和 CONNECT 表示多台服务器?
- PARTITION 不允许您为每个分区指定引擎和压缩,
- 和 SUBPARTITION 不能在 PARTITION 的基础上指定?
- 并且“关闭”布尔值必须在主键中?
- 如果我有两个由 VIEW 合并的表,查询规划器是否了解如何避免针对所有表运行?
- 分区是否会加速涉及多个分区(例如并行工作人员)的 SELECT?
或者这可以在不同的 DBMS 中有效地完成,而不是在 PostgreSQL 中?