Skip to content
Back to Blog
Backend Development Laravel PHP Performance MySQL

Optimizing Eloquent Queries: A Practical Guide

Eino Ortiz DVM ·

One of the most common issues in Laravel applications is database query performance. In this article I share practical techniques I've applied in production.

The N+1 Problem

The classic N+1 problem occurs when we iterate over a collection of models and access a relationship without having pre-loaded it. Laravel will execute an additional query for each model.

Eager Loading

The most direct solution is to use with() to load relationships upfront. But you need to be strategic: loading relationships you don't need is equally bad.

Query Scopes

Local scopes let you encapsulate common filtering logic. They're reusable, composable, and keep your controllers clean.