← 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!