Le problème N+1 se produit quand une application exécute une requête pour la liste, puis une requête par ligne pour des données associées, ce qui multiplie les allers-retours vers la base. On le corrige par une jointure, un chargement groupé (WHERE id = ANY(...)) ou le préchargement de l'ORM. pg_stat_statements aide à le repérer.
Exemple
SELECT * FROM commandes WHERE client_id = ANY(ARRAY[1, 2, 3]);