N+1問題

一覧取得などで、1回で済むはずのDBアクセスが件数分だけ繰り返され、性能劣化を起こす問題。

更新日: 2026-07-13

キーワード: SQL / ORM / JOIN / eager loading / lazy loading / query count / performance / index / API

概要

N+1問題は、一覧取得などで最初に1回問い合わせた後、各行ごとに追加の問い合わせが発生してしまう問題です。 データ件数が増えるほどSQLの回数が増え、性能劣化につながります。

内容

たとえば注文一覧を取得したあと、注文ごとにユーザー情報を個別取得すると、注文数が100件なら追加で100回SQLが実行されます。 このように、1回の一覧取得とN回の追加取得が発生するため N+1 問題と呼ばれます。

見るときの観点

対策の方向

関連項目

このページを参照しているページ