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