はじめに 普段、Railsを使って開発されている方であれば、関連するテーブルのデータを扱うときなど、N+1クエリを発行していないか、気をつけているかと思います。 また、うっかりN+1クエリを発行してしまうことを防ぐため、N+1クエリを自動で検出するBulletというgemを導入しているかたも多いかと思います。ただ、Bulletで検出されないクエリでもN+1になっているケースがあります。 この記事ではBulletでは検出されないが、N+1になっているクエリを改善する方法を紹介します。 N+1問題とは N+1問題とは、1回のクエリで済むところをデータ量(N)の回数、クエリを発行してしまう問題のことです。 例えば以下のようなクエリはN+1クエリです。 Post Load (0.3ms) SELECT "posts".* FROM "posts" ↳ app/views/posts/index.h
![Rails: Bulletで検出されないN+1クエリを解消する|TechRacho by BPS株式会社](https://cdn-ak-scissors.b.st-hatena.com/image/square/1246cba9c6bfba7611b835031b2b14abbf8b59c0/height=288;version=1;width=512/https%3A%2F%2Ftechracho.bpsinc.jp%2Fwp-content%2Fuploads%2F2019%2F12%2Frails_resolving_nplus1_issue_eyecatch.png)