Problème N+1

Le problème N+1 survient quand une première requête charge N lignes, puis une requête supplémentaire est lancée pour chacune afin de lire une relation : N+1 requêtes au total. Il ralentit fortement les pages avec beaucoup de données ; on le corrige en chargeant les relations à l'avance avec une jointure ou un eager loading.

Exemple

// 1 requête + 1 par article
foreach (Article::all() as $a) { echo $a->auteur->nom; }

Notions voisines

Tout le glossaire