问题
In Rails 5, they have added the ActiveRecord query method left_joins
. What's the difference between left_joins
and includes
? I've always seen includes
as a left join.
回答1:
includes by default loads the association data in 2 queries just like preload.
But with additional references call it switches from using two separate queries to creating a single LEFT OUTER JOIN
like left_joins.
Refs:
Preload, Eagerload, Includes and Joins
Making sense of ActiveRecord joins, includes, preload, and eager_load
来源:https://stackoverflow.com/questions/53414830/whats-the-difference-between-left-joins-and-includes-in-rails-5