RailsでのDBへのクエリの組み立ては常にN+1問題との戦いですよね。N+1が発生すると大幅にパフォーマンスがダウンしてしまうので、適切な事前ロードをいかに行えるかがプログラマの腕の見せどころになります。 でもそれって本質でしょうか? DBにクエリを投げる部分の実装の詳細なのでは? クエリが空気読めばいいじゃん!という「Goldiloader」 「それって実装の本質じゃないよね。詳細だよね。それはクエリを投げる部分(ActiveRecord)が空気読めばいいんじゃね?」 そんな思想で現れたGemがGoldiloaderです。Gemfileに加えるだけで勝手にEager Loadingしてくれるようになります。 このGemをbundleせずに以下のコードを叩くと、eachでpostsが呼ばれるたびにロードを繰り返してしまうのですが・・・ > blogs = Blogs.limit(5).t
![自動的にEager Loadingしてくれるようになる「Goldiloader」というGemが良い感じ | mah365](https://cdn-ak-scissors.b.st-hatena.com/image/square/cd240b2dba93ffefb319da8f323e7f61c954a89c/height=288;version=1;width=512/https%3A%2F%2Fblog.mah-lab.com%2Fwp-content%2Fuploads%2F2014%2F06%2Fsalsify_goldiloader.png)