k-tokitoh

2019-07-04

joins, eager_load, preload

3 つのメソッドを比較する。

絞り込みあり、join したテーブルの情報を使わない

![f:id:tsuzuki670:20190704225553p:plain](https://cdn-ak.f.st- hatena.com/images/fotolife/t/tsuzuki670/20190704/20190704225553.png) 絞り込みするので preload はつかえない。

結論:「絞り込みあり、join したテーブルの情報を使わない」場合は joins がよい!

絞り込みなし、join したテーブルの情報を使う

![f:id:tsuzuki670:20190704225918p:plain](https://cdn-ak.f.st- hatena.com/images/fotolife/t/tsuzuki670/20190704/20190704225918.png)

結論:「絞り込みなし、join したテーブルの情報を使う」場合は preload がよい!

絞り込みあり、join したテーブルの情報を使う

![f:id:tsuzuki670:20190704230315p:plain](https://cdn-ak.f.st- hatena.com/images/fotolife/t/tsuzuki670/20190704/20190704230315.png) 絞り込みするので preload はつかえない。

結論:「絞り込みあり、join したテーブルの情報を使う」場合は eager_load がよい!