Ruby on rails 4 在Rails activerecord中指定include有什么不同吗
我对这种行为感到惊讶。让我们举个例子 案例1:Ruby on rails 4 在Rails activerecord中指定include有什么不同吗,ruby-on-rails-4,activerecord,rails-activerecord,Ruby On Rails 4,Activerecord,Rails Activerecord,我对这种行为感到惊讶。让我们举个例子 案例1: User.includes(:organizations, :category, subscriptions: :plan).coaches User.coaches.includes(:organizations, :category, subscriptions: :plan) 所用时间:200毫秒 案例2: User.includes(:organizations, :category, subscriptions: :plan).coa
User.includes(:organizations, :category, subscriptions: :plan).coaches
User.coaches.includes(:organizations, :category, subscriptions: :plan)
所用时间:200毫秒
案例2:
User.includes(:organizations, :category, subscriptions: :plan).coaches
User.coaches.includes(:organizations, :category, subscriptions: :plan)
所用时间:20毫秒
这两种情况都是在没有缓存的情况下执行的
在我们指定的范围内是否存在差异?“是否存在差异”-这是一个很容易检查的问题。只需查看服务器日志中的查询,并对它们进行比较。如果User是类名并且与coach有很多关系,我很惊讶这些调用居然能起作用