Laravel Tutorials

Fixing Queries & Adding Indexes: From 400 Queries to 4 - Laravel In Practice EP6

Published

▶️ Watch the video tutorial (6 minutes)

Drastically Improving Your Laravel Dashboard Performance - Laravel In Practice EP6

Your dashboard is making over 400 queries, but the fix is simpler than you think. What if I told you that a few strategic changes could reduce those queries to just 4 and slash your response time from 180ms to 40ms?

In this episode of Laravel In Practice, I show you how to eliminate N+1 queries and add strategic database indexes without breaking your clean architecture. You'll learn to fix the top customers method that was generating hundreds of queries using loadMissing() and lookup tables, add composite indexes to frequently queried columns like status and user_id, and use EXPLAIN query plans to verify your optimizations are actually working.

The result? Your dashboard drops from over 400 queries to just 4. That sluggish 187ms load time becomes a snappy 53ms. You'll see exactly how indexes allow SQL to jump directly to relevant rows instead of scanning entire tables, and how to validate these improvements with test routes that measure real performance gains.

This continues our Performance Optimization journey, taking the N+1 problems we discovered with Telescope in Episode 5 and fixing them systematically. No complex rewrites needed - just smart use of loadMissing() to avoid redundant relationship loading and strategic indexes added through a simple migration.

Whether you're debugging a slow dashboard or preventing future bottlenecks, these techniques are essential. You'll understand how to create lookup tables that prevent iteration redundancy, when to use composite indexes for multi-column queries, and how to prove your optimizations work using Laravel's database explain features.

The query optimizations and indexing strategies we implement here achieve a 4.5x performance improvement - and we're just getting started. Next episode, we'll push even further by moving calculations to the database level.

▶️ Watch Episode 6 now →

Harris Raftopoulos photo

Senior Software Engineer • Staff & Educator @ Laravel News • Co-organizer @ Laravel Greece Meetup

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Volker Dusch on the PHP RCE Vulnerabilities and Disclosure image

Volker Dusch on the PHP RCE Vulnerabilities and Disclosure

Read article
Decide with Jev: Turn AI Answers into Decisions with PHP Rules image

Decide with Jev: Turn AI Answers into Decisions with PHP Rules

Read article
Skuul: Open-Source School Management Built on Laravel image

Skuul: Open-Source School Management Built on Laravel

Read article
Laravel Read Replicas: Prevent Stale Reads After a Write image

Laravel Read Replicas: Prevent Stale Reads After a Write

Read article
Screenshot: Capture Images and PDFs with PHP and Laravel image

Screenshot: Capture Images and PDFs with PHP and Laravel

Read article
Reset Sticky Database Connections Between Laravel Queue Jobs image

Reset Sticky Database Connections Between Laravel Queue Jobs

Read article