【发布时间】:2016-02-13 15:37:12
【问题描述】:
我需要渲染大约 2500 个类别(还包括嵌套类别 - 使用祖先 gem)和每个类别中的产品计数。
类似于以下内容:
因此加载页面需要很长时间。我迭代了 5 个列表(深度为 5 个级别类别)并使用以下代码来计算一个类别中的产品(它总是对当前类别的产品以及所有嵌套的产品求和):
<%= Product.includes(:category).where(:id => @filter_product_ids, categories: {:id => Category.find(root['id']).subtree_ids }).count %>
有什么方法可以加快速度吗?现在我只使用了 200 个类别和 10 000 个产品(预计 500 000 个),加载只有 10 000 个产品的页面需要 30 秒。
谢谢你, 米罗斯拉夫
解决方案
【问题讨论】:
标签: ruby-on-rails performance count ancestry