【发布时间】:2014-07-02 03:15:16
【问题描述】:
我有一个 Products 模型,其中包含 6,000 条记录(不多)。当我在视图中运行循环以简单地列出表中的所有记录时,类似于此..
<% Product.all.each do |product| %>
<%= product.serial_number %> <br />
<% end %>
它需要 13.02 秒才能加载到我的视图中并在网页中显示我的记录。这在我的 dev ENV 和 prod ENV 中都有,我尝试使用 MySQL 和 sqlite 数据库。好像没什么区别。
但是,当我在 rails 控制台中运行此查询时,它会在 88.2 毫秒(不到 1 秒)内完成。
这是什么原因造成的?
【问题讨论】:
-
你和这个模型有关联吗?
-
是的,我实际上大约有 8 个。其中6个是belongs_to:,其中2个是has_many:关联。现在您提出了这个问题,我看到很多与它们相关的 SQL 正在运行。它是否查找每一行的每个关联?
-
是的。在下面查看我的详细答案
标签: jquery ruby-on-rails performance