听起来可能有点愚蠢,但我不是数据库专家。
例如,如果我们有一个User
模型和一个Comment
模型,并且每个评论都属于一个用户,那么有两种方法可以获取所有评论及其用户:
# 1.
@comments = Comment.all(:include => :user)
# 2.
@comments = Comment.all()
@users = []
@comments.each do |comment| # Or we do the same loop in embedded code in the view
@users << User.find(comment.user)
end
我的问题是,由于这两种方法都将获取所有评论及其用户数据(这意味着我们从硬盘驱动器和通过互联网读取和传输相同数量的信息),为什么第二种方法被认为是一种不好的做法?