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