首页 > 解决方案 > 版本表大小失控

问题描述

Rails 3.2

我正在使用 PaperTrails gem 来跟踪多个模型中的活动。我遇到的问题是版本表的大小失控,并且影响了性能。

其他人遇到这种情况,如果是这样,您有什么建议吗?

标签: ruby-on-railspaper-trail-gem

解决方案


.. 版本表的大小已经失控,并且正在影响性能。

您是否需要一直保留所有版本,还是可以只保留每条记录的最新 N 个版本?

我需要所有版本

保留较少的版本是最好的解决方案,但即使您必须保留所有版本,您也有一些选择。

  1. PT 10(未发布)将使您能够删除object表中的versions。这将为您节省 50% 的磁盘空间,但您将无法reify. 此外,在 PT 6 中放弃了对 rails 3 的支持,因此您必须升级 rails(无论如何,您确实应该升级 rails 3 已死)。
  2. 如果您无法删除object列,则可以使用自定义版本类versions将表拆分为多个表。但是,PT-AT尚不支持此技术。
  3. 微调:参见文档部分:什么是版本化和何时

推荐阅读