我写了一个记录每笔交易的系统,包括金额,客户,日期等......
但是现在我需要实现一个函数来显示最近1个月的历史,最近3个月,...,
在RoR上实施的最佳做法
我应该创建另一个表来记录每月数据,每周数据吗?
或者只是在用户执行选择查询时重新计算所有历史记录?但我认为使用这种方法可能会有不好的表现。
答案 0 :(得分:0)
如果您的数据只是插入,那么聚合表非常容易管理。删除和更新有点棘手。
不要忘记每周日历(即周一至周日)数据不会累计到几个月。 保持汇总表的一个很大的优点是,您可以有效地对汇总数据进行索引,因此查找每月交易量大于特定数量的所有股票实际上是即时的,如果您有这样的要求那么我肯定会失败那条路。
答案 1 :(得分:0)
最好使用act_as_versioned进行历史记录功能。使用act_as_versioned可以轻松跟踪记录的历史记录。