← Courses
🎓
AdvancedcourseBootcamp access

Database Performance & Query Tuning Guide

64

Lessons

8

Modules

🎓

Bootcamp access

Lo que aprenderás

Read PostgreSQL query plans with confidence (cost, rows, buffers, JIT, scan types) and diagnose why any query is slow
Design advanced indexes the planner actually uses: composite (with leftmost prefix), covering (INCLUDE), partial (WHERE), expression, and intro to GIN
Detect and eliminate the N+1 problem in SQLAlchemy using `joinedload`, `selectinload`, and the `nplusone` library
Profile queries in production with `pg_stat_statements` and `auto_explain` to identify the most expensive queries without guessing
Configure PgBouncer (transaction vs session mode) and tune async connection pools for FastAPI + asyncpg without collapsing under load
Tune statistics and autovacuum so the planner makes good decisions and avoid bloat in MVCC tables
Recognize and refactor scaling anti-patterns: large OFFSET, COUNT(*) on huge tables, over-indexing, premature optimization
Measure performance improvements with quantified before/after benchmarks using `wrk`, `locust`, and `pgbench`

¿Para quién es?

  • Backend Python developers (intermediate-senior) with FastAPI apps in production showing the first signs of performance issues (slow queries, occasional timeouts)
  • Engineers who completed the PostgreSQL & SQLAlchemy guide and want to take what they learned to the next level
  • Developers preparing for senior backend technical interviews where EXPLAIN, advanced indexing, and pool sizing are asked
  • Teams whose silent latency killer is the N+1 problem and they don't know it yet
  • Anyone tired of guessing why a query is slow and ready to start measuring

Requisitos

  • PostgreSQL & SQLAlchemy guide completed (or equivalent: basic B-tree indexes, basic EXPLAIN, ACID, SQLAlchemy ORM with relationships)
  • Functional FastAPI app with real data (>100k rows in at least one table)
  • PostgreSQL 14+ installed locally or in Docker
  • Familiarity with `psql` and SQLAlchemy 2.0 syntax (`select()`, `Mapped`, `mapped_column`)
  • Comfort with async/await in Python

Course content

1Módulo 1: Performance Mindset & Benchmarking — Guía para el Creador8 lessons
2Módulo 2: EXPLAIN ANALYZE en Profundidad — Guía para el Creador8 lessons
3Módulo 3: Indexing Avanzado — Guía para el Creador8 lessons
4Módulo 4: El Problema N+1 con SQLAlchemy — Guía para el Creador8 lessons
5Módulo 5: Query Profiling en Producción — Guía para el Creador8 lessons
6Módulo 6: Connection Pooling Avanzado — Guía para el Creador8 lessons
7Módulo 7: Statistics, Autovacuum & Planner — Guía para el Creador8 lessons
8Módulo 8: Anti-Patterns y Proyecto Final — Guía para el Creador8 lessons
Reviews

What students say

These reviews are from enrolled students who completed at least 50% of the course. We moderate reviews only on content grounds (spam, offensive language, personal data), never for being critical or negative.

No approved reviews yet.

Be the first to share your experience!