これでもまだシンプルな方ではあります。実際には複数の条件を指定して、複数のテーブルと関連づいたデータモデルを扱わなければなりません。そうなると、上記のようにシンプルなクエリ文では済まなくなってきます。 ActiveRecordはこんな感じでよしなにデータを取得してきてくれるのですが、何も考えずに使用していくと、これから解説するn+1問題が発生する可能性が大いにあるため、しっかり理解して使用する必要があります。 n+1問題とは 簡潔に言うならば、「余計なクエリが発行される」問題のことです。 余計なクエリが発行されるということは、アプリ自体のパフォーマンスが低下することになります。 もっと具体的に解説していきます。 会員テーブル(users)と投稿テーブル(posts)があったとして、これらは、1対多で関連づいています。 投稿一覧画面において、投稿に紐づくユーザーを取得する場合があるとします。