Leistungen Blog Kontakt Anfrage stellen
Alle Beiträge

N+1 Queries in Laravel vermeiden: Datenbankoptimierung

1 Min. Lesezeit 19. Juni 2026
N+1 Queries in Laravel vermeiden: Datenbankoptimierung

Das N+1 Problem in Laravel

Das N+1 Query Problem ist einer der häufigsten Performance-Killer in Laravel-Anwendungen. Und er ist leicht zu vermeiden.

Was ist das N+1 Problem?

// SCHLECHT: 1 Query für alle Posts + 1 Query pro Post für den Autor
$posts = Post::all();
foreach ($posts as $post) {
    echo $post->author->name; // Jedes Mal eine neue Query!
}

Bei 100 Posts: 101 Queries. Bei 1.000 Posts: 1.001 Queries.

Die Lösung: Eager Loading

// GUT: 2 Queries total
$posts = Post::with('author')->get();
foreach ($posts as $post) {
    echo $post->author->name; // Kein extra Query
}

Laravel Telescope hilft

Mit Laravel Telescope siehst du alle Queries die ein Request ausführt. Wenn du plötzlich 200 Queries für eine einfache Seite siehst — N+1 ist der Übeltäter.

strictMode() in der Entwicklung

// In AppServiceProvider
Model::preventLazyLoading(! app()->isProduction());

Das wirft eine Exception wenn Lazy Loading in der Entwicklung passiert. Brutale aber effektive Methode um N+1 Probleme zu finden.

Zurück zum Blog Projekt besprechen