Difference_Between_Includes_And_Joins
joins
INNER JOIN
が発行される- 関連づけとともにレコードを読み込むのではなく、クエリの結果をフィルタするために使われるため、 N+1 クエリを防げない
includes
- 関連テーブルへの参照があれば
#eager_load
を、なければ#preload
を使う joins
よりも速度が落ちる
INNER JOIN
が発行される#eager_load
を、なければ #preload
を使うjoins
よりも速度が落ちる