← Cursos
🎓
AvanzadocourseAcceso por bootcamp
Database Performance & Query Tuning Guide
64
Lecciones
8
Módulos
🎓
Acceso por bootcamp
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
Contenido del curso
1Módulo 1: Performance Mindset & Benchmarking — Guía para el Creador8 lecciones
2Módulo 2: EXPLAIN ANALYZE en Profundidad — Guía para el Creador8 lecciones
3Módulo 3: Indexing Avanzado — Guía para el Creador8 lecciones
4Módulo 4: El Problema N+1 con SQLAlchemy — Guía para el Creador8 lecciones
5Módulo 5: Query Profiling en Producción — Guía para el Creador8 lecciones
6Módulo 6: Connection Pooling Avanzado — Guía para el Creador8 lecciones
7Módulo 7: Statistics, Autovacuum & Planner — Guía para el Creador8 lecciones
8Módulo 8: Anti-Patterns y Proyecto Final — Guía para el Creador8 lecciones
Reviews
What students say
Sign in to leave a review.
No approved reviews yet.
Be the first to share your experience!