Retour à la leçonMission
Mission : le catalogue qui devient lent avec le succès
Diagnostiquer et corriger un problème N+1 sur GET /products, puis sécuriser le pool de connexions.
Contexte
L'endpoint GET /products de app/routers/products.py répondait en 50ms avec 20 produits de test, mais met maintenant 4 secondes en production avec 300 produits. Les logs SQL activés montrent 301 requêtes pour une seule réponse HTTP. Le moteur SQLAlchemy de app/core/database.py n'a par ailleurs aucun paramètre de pool configuré.