Eagerロードとは。N+1問題を解決する

Eagerロードとは。に関して簡潔に回答している情報があまりないと感じています。

公式サイトには下記と記述されていますが。初見の人が意味を理解できるのか…少し怪しいと思います。

プロパティとしてEloquentリレーションへアクセスすると、関連するモデルは「遅延読み込み」されます。つまりこれは、最初にプロパティへアクセスするまで、リレーションデータが実際にロードされないことを意味します。ただし、Eloquentは、親モデルにクエリを実行するときに、関係を「Eager(積極的)ロード」できます。Eagerロードにより、「N+1」クエリの問題が軽減されます。N+1クエリの問題を説明するために、Authorモデルに「属する(belongs to)」Bookモデルについて考えてみます。

https://readouble.com/laravel/8.x/ja/eloquent-relationships.html#eager-loading

Eagerローディング とは。

簡潔に回答すると、下記かなと思います。

積極的なローディング。
Eloquentを利用したデータ取得に際して、関連する(リレーション先)データを一緒に取得してくる手法のこと。

Eagerローディングを利用することで、N+1問題の解消が可能です。

以前、孫リレーション先に対して、N+1問題を解消する方法を解説しているので、合わせてご確認頂けたらと思います。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です