【发布时间】:2017-11-01 13:34:54
【问题描述】:
我正在实施一份报告,该报告显示了对大量数据的分析。该过程包括对 4 个数据库表进行连接和过滤,这些表本身平均有大约一百万条记录。完整的处理和页面渲染大约需要两分钟。通过优化查询和对数据库应用索引,我已将此时间缩短到大约 1 分 35 秒。
考虑到我们无法进一步优化查询,有哪些可能的解决方案来提高 Ruby on Rails 中通常使用的处理速度。
【问题讨论】:
-
数据多久更改一次?每次请求页面时,您都需要“实时”或“按需”访问吗?
-
既然你认为你已经达到了优化的极限,现在你可以继续获得更大/更多的硬件。
-
另外,您可以在后台预先计算它,页面将只显示准备好的数据。
-
@craig.kaminsky 数据会经常更新。实际上,这是我的帐户活动报告。因此,如果我执行另一项任务,报告应该会显示更新的统计信息。
-
没有代码很难说。您是否考虑过设置工作人员来处理数据并将结果存储在表中?结果必须是最新的吗?如果期望实时,您可能无能为力。
标签: ruby-on-rails ruby psql