Laravel

Performance Optimization

Query-Optimierung, N+1-Problem, Eager Loading, Lazy Loading, Caching-Strategien, Datenbankindizierung, Profiling-Tools

22 Interview-Fragen·
Senior
1

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.

2

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.

3

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.

4

Welche Rolle spielt Cache::remember() in Laravel?

5

Was ist der Unterschied zwischen Cache::remember() und Cache::rememberForever()?

+19 Interview-Fragen

Meistere Laravel für dein nächstes Interview

Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.

Kostenlos starten