我最近添加了用户活动跟踪功能到我的应用程序,该应用程序跟踪用户与多个模型的交互以及每个模型中的几个不同操作。Rails 3活动跟踪器数据库管理
class User
has_many :activities, :order => 'created_at desc'
def log_activity(object, type)
activities.create(:subject_type => object.class.name, :subject_id => object.id, :subject_action_type => type)
end
end
现在我呼叫的用户之后,此方法创建/更新/删除各种对象,并显示在用户配置文件这一活动。我想象一段时间后,Activities表将包含如此多的记录,它将会到达影响加载时间的点。我想知道一个好的实现是以一种用户友好的方式来管理它,并保持我的数据库顺利运行。
我正在考虑设置某种计划任务,在x时间后清理旧记录。也许你可以给出一些建议,以告知如何实现这个目标或推荐更好的解决方案?
我正在使用PostgreSQL作为我的选择数据库。
我想我总是可以手动运行查询。如果它太麻烦了,我相信只要自动化这个过程并不麻烦。 – Noz 2012-08-13 18:44:32