Laravel

Performance Optimization

Query-optimalisatie, N+1-probleem, eager loading, lazy loading, cachingstrategieën, database-indexering, profilingtools

22 gespreksvragen·
Senior
1

Wat is het N+1-probleem in Laravel?

Antwoord

Het N+1-probleem treedt op wanneer Eloquent één query uitvoert om een collectie op te halen en vervolgens een extra query per item om een relatie te laden. Dit vermenigvuldigt de databasetoegangen en verslechtert de prestaties bij grote volumes aanzienlijk. Met eager loading via with() worden alle relaties in één extra query geladen in plaats van N queries.

2

Welke methode moet worden gebruikt om het N+1-probleem op te lossen bij het laden van relaties?

Antwoord

De methode with() voert eager loading uit, waarbij relaties in één extra query worden geladen. In plaats van per model een query uit te voeren bij toegang tot de relatie, worden alle relaties vooraf geladen. Dit vermindert het aantal SQL-queries drastisch en verbetert de prestaties.

3

Wat is het verschil tussen eager loading en lazy loading?

Antwoord

Eager loading laadt de relaties direct met de hoofdquery via with(), terwijl lazy loading de relaties op aanvraag laadt bij de eerste toegang. Lazy loading kan het N+1-probleem veroorzaken als de relaties in een lus worden benaderd. Eager loading wordt aanbevolen wanneer de relaties worden gebruikt, om meerdere queries te vermijden.

4

Wat is de rol van Cache::remember() in Laravel?

5

Wat is het verschil tussen Cache::remember() en Cache::rememberForever()?

+19 gespreksvragen

Beheers Laravel voor je volgende gesprek

Krijg toegang tot alle vragen, flashcards, technische tests, code review-oefeningen en gespreksimulatoren.

Begin gratis