0

所以我有一个充满帖子的论坛帖子,我想急切地从帖子和那些用户角色中加载用户,以减少数据库查询的总数(这似乎是做事的最佳方式)

(为了让事情变得更有趣,论坛和帖子是嵌套资源,如果有区别的话)

def show
  @forum = Forum.find(params[:forum_id])
  @posts = @forum.posts.includes(:user => :role).where('id = ? OR parent_post_id =?',params[:id], params[:id])
end

页面呈现,但我无法通过查看控制台来判断它是否真的减少了查询数量。控制台对 CACHE 的查询数量似乎略有减少,但 Load 调用保持稳定。我这样做对吗?

4

1 回答 1

0

是的,我想是的,如果急切加载成功,查询数会减少。如果您使用的是 MYsql,我建议您使用“query_reviewer”。(https://github.com/dsboulder/query_reviewer)它​​将显示您为打开页面执行了多少查询。

于 2012-04-05T22:53:08.157 回答