【问题标题】:Rails load database into an arrayRails 将数据库加载到数组中
【发布时间】:2016-05-05 17:10:42
【问题描述】:

我的应用程序中有一堆表,并且我有一个基本上通过关联加载所有表的视图,问题是如果没有缓存,我最终会得到大约 100 个查询。有没有办法只做 1 次查询并将整个数据库加载到内存中,我试过 .includes 但它仍然会查询 .count 和其他东西。 .entries 似乎不起作用。非常感谢任何提示和帮助。

我的模型关联是这样的(许多>一,一=一):

  • 客户
  • 分配

【问题讨论】:

  • 您能否提供有关您的架构的更多信息?您想加载整个数据库吗?这将是所有表及其所有关联?
  • 用更多信息编辑了问题,是的,所有表格,它们的内容。根据他们的关联以一种有意义的方式形成
  • 您是否尝试过像this answer 一样嵌套您的.includes 节目?
  • 我很好奇,您要加载整个数据库的原因是什么?是否可能在前端用作 JSON 对象?

标签: ruby-on-rails postgresql ruby-on-rails-4


【解决方案1】:

好吧,事情是这样的:包含工作正常

只是当您包含并运行 .order 或 .count 时,它仍会出于某种原因查询数据库,我将 .count 替换为 .size 并将 .order 替换为 .sort

【讨论】:

    猜你喜欢
    • 2014-01-30
    • 1970-01-01
    • 1970-01-01
    • 2014-05-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-02-10
    相关资源
    最近更新 更多