性能:软删除 vs 移动条目

4

我在一个PostgreSQL数据库中有一张广告表。每天会新增约10万条广告,同时另外4万条广告会过期。

哪种方法更适合:

  • 使用禁用标志但仍保留在主数据库中(索引结构也将被修改)
  • 使用禁用标志,并在一段时间后将其移动到存储数据库中,以便我们可以分析数据

过期时间是如何定义的?也许按月份进行分区可能是一个解决方案? - user330315
1个回答

0

答案在一定程度上取决于数据使用的方式,但总体上我发现第二种方法更可取。

优点:

  • 您的活动数据库较小,这使得许多查询更快,通常使维护更容易。
  • 您对数据放置更加灵活。例如,您可以在速度较慢、价格更便宜的存储设备上或者完全不同的机器上轻松地保存旧数据。

缺点当然是更难访问旧数据。

您还可以考虑通过为每个表设置两个分区(用于活动和旧数据)的混合解决方案。这样,您可以将它们放置在不同的表空间中,甚至在不同的机器上(使用外部数据包装器)。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接