
Performance Optimization
Query optimization, N+1 problem, eager loading, lazy loading, caching strategies, database indexing, profiling tools
1Qu'est-ce que le problème N+1 en Laravel ?
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.
2Quelle méthode utiliser pour résoudre le problème N+1 lors du chargement des relations ?
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.
3Quelle est la différence entre eager loading et lazy loading ?
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.
Quel est le rôle de Cache::remember() en Laravel ?
Quelle est la différence entre Cache::remember() et Cache::rememberForever() ?
+19 questions d'entretien
Autres sujets d'entretien Laravel
Les bases de PHP
POO en PHP
Composer & Autoloading
Fondamentaux Laravel
Routing Laravel
Blade Templates
Request & Response
Eloquent ORM - Les bases
Eloquent Relationships
Migrations & Schema Builder
Validation & Formulaires
Authentication
Authorization & Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Events & Listeners
Notifications & Mail
File Storage
Testing & PHPUnit
Caching
Livewire & Inertia
Eloquent Advanced
Repository Pattern
Laravel Packages
Security Best Practices
Laravel Octane
Laravel Distributed Systems
Observability & Monitoring
Deployment & DevOps
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