Laravel

Performance Optimization

Query optimization, N+1 problem, eager loading, lazy loading, caching strategies, database indexing, profiling tools

22 questions d'entretien·
Senior
1

Qu'est-ce que le problème N+1 en Laravel ?

Réponse

Le problème N+1 survient lorsqu'Eloquent exécute une requête pour récupérer une collection, puis une requête supplémentaire par élément pour charger une relation. Cela multiplie les accès à la base de données et dégrade fortement les performances sur de gros volumes. Utiliser eager loading avec with() permet de charger toutes les relations en une seule requête supplémentaire au lieu de N requêtes.

2

Quelle méthode utiliser pour résoudre le problème N+1 lors du chargement des relations ?

Réponse

La méthode with() effectue un eager loading qui charge les relations en une seule requête supplémentaire. Plutôt que d'exécuter une requête par modèle lors de l'accès à la relation, toutes les relations sont chargées en amont. Cela réduit drastiquement le nombre de requêtes SQL et améliore les performances.

3

Quelle est la différence entre eager loading et lazy loading ?

Réponse

L'eager loading charge les relations immédiatement avec la requête principale via with(), tandis que le lazy loading charge les relations à la demande lors du premier accès. Le lazy loading peut provoquer le problème N+1 si les relations sont accédées dans une boucle. L'eager loading est recommandé lorsque les relations seront utilisées pour éviter les requêtes multiples.

4

Quel est le rôle de Cache::remember() en Laravel ?

5

Quelle est la différence entre Cache::remember() et Cache::rememberForever() ?

+19 questions d'entretien

Maîtrise Laravel pour ton prochain entretien

Accède à toutes les questions, flashcards, tests techniques, exercices de code review et simulateurs d'entretien.

Commencer gratuitement