Ruby on rails rails 3负载未按预期工作

Ruby on rails rails 3负载未按预期工作,ruby-on-rails,ruby,ruby-on-rails-3,activerecord,Ruby On Rails,Ruby,Ruby On Rails 3,Activerecord,当我做一个用户。包括(:订阅)时,日志会显示: 用户加载(0.3ms)从users 订阅加载(0.2ms)从subscriptionsWHERE中选择subscriptions* (订阅中的用户id(1,2,3,5)) 我本来希望有一个单一的连接查询,但我没有看到它 有人对此行为有解释吗?这是预期的行为,因为在某些情况下,它可能比连接更有效。从Rails2.1开始,它被修改为至少执行2个查询。阅读以下内容:include(现在包含在Rails 3中): 以及rails指南中的更多信息: 您可

当我做一个
用户。包括(:订阅)
时,日志会显示:

用户加载(0.3ms)从
users
订阅加载(0.2ms)从
subscriptions
WHERE中选择
subscriptions
* (
订阅
中的用户id(1,2,3,5))

我本来希望有一个单一的连接查询,但我没有看到它


有人对此行为有解释吗?

这是预期的行为,因为在某些情况下,它可能比连接更有效。从Rails2.1开始,它被修改为至少执行2个查询。阅读以下内容:include(现在包含在Rails 3中):

以及rails指南中的更多信息:


您可能希望使用
联接
,这取决于场景。

这是预期的行为,因为在某些情况下,它可能比联接更有效。从Rails2.1开始,它被修改为至少执行2个查询。阅读以下内容:include(现在包含在Rails 3中):

以及rails指南中的更多信息:

您可能希望使用
连接
,具体取决于场景

class User
  has_many :subscriptions
  ...
end

class Subscription
  belongs_to :user
  ...
end