首页 > 解决方案 > ActsAsTaggable 标记表非常庞大

问题描述

我有一个使用acts_as_taggable gem 的Rails 应用程序。我在 Heroku 上托管了该应用程序,发现我超出了他们免费 PostgreSQL 数据库的行数限制。

查看使用 gem 自动生成的表,我的Tags表有 3302 行,但我的Taggings表有高达 17103 行。

我试图弄清楚为什么会有这么大的差异,以及我是否可以做任何事情来减小Taggings表格大小。有没有这方面的最佳实践?

标签: ruby-on-railsacts-as-taggable-onacts-as-taggable

解决方案


3302 个标签的 17103 个标签看起来并不那么惊人 - 每个标签平均分配给 5 个实体。

调查:

  1. 是否有可以合并的标签重复项?或重复的标记(宝石应该处理这个,但以防万一)
  2. 是否有任何悬空标记(实体已被删除,或者应该被删除,因为用户早已离开等)
  3. 你真的需要标准化标签吗?在某些情况下,您可以用实体表中的 postgres 数组替换整个内容。

推荐阅读