我想知道在存储计数/总和等方面的最佳做法是什么?在每个页面加载时动态计算是否很大?
我有一个 Rails 应用程序,其中包含来自多个来源的产品和销售报告。其中一些销售报告可以延伸到每天 100k+ 行。目前,我们正在为每个页面加载动态计算。这显然非常缓慢。
由于几乎可以肯定销售报告只写一次但读了很多次,所以在我的产品表中添加一个总和列并在每次写入新销售时增加它会更好吗?我可以看到这显然会快得多,但它确实严重限制了我提供日期过滤的能力;“过去 7 天前 10 名”等。
启用过滤的另一种解决方案是创建第三张表,其中包含每种产品的每日总和吗?主销售表每天可以为每个产品包含多行,有时甚至数千行,所以我可以再次看到主销售表的精简版本也可以加快速度。
我应该在导入期间使用 before/after_save 回调/进行这些计算,还是应该查看在后台运行的计划任务?
谁能提供一些建议或推荐阅读以帮助我走上正确的道路并帮助我改善令人尴尬的缓慢页面加载时间?
提前致谢!