
Performance Optimization
Query-Optimierung, N+1-Problem, Eager Loading, Lazy Loading, Caching-Strategien, Datenbankindizierung, Profiling-Tools
1Was ist das N+1-Problem in Laravel?
Was ist das N+1-Problem in Laravel?
Antwort
Das N+1-Problem tritt auf, wenn Eloquent eine Query ausführt, um eine Collection abzurufen, und dann eine zusätzliche Query pro Element, um eine Beziehung zu laden. Dies vervielfacht die Datenbankzugriffe und verschlechtert die Performance bei großen Datenmengen erheblich. Mit Eager Loading über with() werden alle Beziehungen in einer einzigen zusätzlichen Query statt in N Queries geladen.
2Welche Methode sollte verwendet werden, um das N+1-Problem beim Laden von Beziehungen zu lösen?
Welche Methode sollte verwendet werden, um das N+1-Problem beim Laden von Beziehungen zu lösen?
Antwort
Die Methode with() führt Eager Loading durch, das die Beziehungen in einer einzigen zusätzlichen Query lädt. Anstatt beim Zugriff auf die Beziehung eine Query pro Model auszuführen, werden alle Beziehungen vorab geladen. Dies reduziert die Anzahl der SQL-Queries drastisch und verbessert die Performance.
3Was ist der Unterschied zwischen Eager Loading und Lazy Loading?
Was ist der Unterschied zwischen Eager Loading und Lazy Loading?
Antwort
Eager Loading lädt die Beziehungen sofort mit der Hauptquery über with(), während Lazy Loading die Beziehungen bei Bedarf beim ersten Zugriff lädt. Lazy Loading kann das N+1-Problem verursachen, wenn die Beziehungen in einer Schleife abgerufen werden. Eager Loading wird empfohlen, wenn die Beziehungen verwendet werden, um mehrfache Queries zu vermeiden.
Welche Rolle spielt Cache::remember() in Laravel?
Was ist der Unterschied zwischen Cache::remember() und Cache::rememberForever()?
+19 Interview-Fragen
Weitere Laravel-Interviewthemen
PHP-Grundlagen
PHP OOP-Grundlagen
Composer & Autoloading
Laravel-Grundlagen
Laravel Routing
Blade Templates
Request & Response
Eloquent ORM Grundlagen
Eloquent Relationships
Migrations & Schema Builder
Validierung & Formulare
Authentifizierung
Autorisierung & Policies
API Resources & Authentication
Middleware
Service Container & DI
Queues & Jobs
Events & Listeners
Benachrichtigungen & 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
Meistere Laravel für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten