Saltar al contenido
Logotipo de Trainontech Trainontech

Bases de Datos · BBD-192

Optimización de consultas y planes de ejecución

Leer un EXPLAIN, elegir el índice correcto y convertir una consulta de minutos en milisegundos.

Bajo demanda Especialización 7 módulos · 31 clases

Formato asíncrono Desarrollo, Ingeniería / Industria PostgreSQL, SQL

Lo que aprenderás

  • Interpretar la salida de EXPLAIN ANALYZE distinguiendo coste estimado, filas reales y bucles.
  • Reconocer barridos secuenciales, uniones anidadas y uniones por hash y saber cuándo cada uno conviene.
  • Diseñar índices compuestos, parciales y de expresión según la selectividad real de los filtros.
  • Corregir estimaciones erróneas del planificador con estadísticas extendidas y ajuste de muestreo.
  • Reescribir subconsultas, OR y funciones sobre columnas que impiden el uso de índices.
  • Instrumentar el servicio con pg_stat_statements para priorizar qué consulta merece atención.

Contenido del curso

7 módulos · 31 clases en vídeo · práctica guiada en cada módulo

Módulo 1 · Cómo decide el motor 4 clases
  • Del texto SQL al plan: análisis, reescritura y planificación
  • Coste, cardinalidad y estadísticas
  • Entorno de prácticas con datos de volumen realista
  • Medir bien: caché, primeras ejecuciones y ruido
Módulo 2 · Leer un plan 5 clases
  • EXPLAIN, ANALYZE, BUFFERS y formato de salida
  • Nodos de acceso: barrido secuencial, índice y solo índice
  • Nodos de unión y de agregación
  • Filas estimadas frente a filas reales
  • Detectar el nodo que domina el tiempo
Módulo 3 · Índices 5 clases
  • B-tree: orden de columnas y selectividad
  • Índices parciales y de expresión
  • GIN y GiST para texto, JSON y rangos
  • Índices que no se usan y su coste de escritura
  • Cobertura y barrido solo de índice
Módulo 4 · Estadísticas y el planificador 4 clases
  • ANALYZE, objetivo de estadísticas y muestreo
  • Estadísticas extendidas para columnas correlacionadas
  • Parámetros de coste y memoria de trabajo
  • Cuándo el planificador se equivoca de verdad
Módulo 5 · Reescribir la consulta 5 clases
  • Funciones sobre columnas y pérdida de índice
  • OR, IN y subconsultas correlacionadas
  • CTE, materialización y sus efectos
  • Paginación eficiente sobre conjuntos grandes
  • Ordenaciones y agregaciones costosas
Módulo 6 · Diagnóstico en producción 4 clases
  • pg_stat_statements y priorización por impacto
  • Registro de consultas lentas
  • Hinchazón de tablas, autovacuum y su efecto
  • Particionado como herramienta de rendimiento
Módulo 7 · Caso práctico 4 clases
  • Auditoría de las consultas más costosas de un sistema
  • Plan de intervención ordenado por impacto
  • Aplicación de cambios y medición antes y después
  • Informe técnico de resultados

Requisitos

  • SQL avanzado y experiencia real escribiendo consultas complejas en PostgreSQL.
  • Conocimiento del modelo de datos con el que se trabaja y de su volumen.
  • Acceso a un PostgreSQL propio donde poder crear índices y cambiar parámetros.

Descripción

Una consulta lenta rara vez se arregla añadiendo memoria. Se arregla entendiendo qué decidió el planificador y por qué se equivocó: una estimación de filas fuera de rango, un índice que no puede usar porque la columna va dentro de una función, o una unión que elige el algoritmo equivocado porque las estadísticas están desfasadas.

Este curso es de lectura de planes, sin atajos. Se trabaja sobre una base de datos con volumen suficiente para que las decisiones del planificador se noten, se compara el plan estimado con la ejecución real, se crean y se retiran índices midiendo el efecto, y se reescriben consultas hasta ver el cambio en el plan. Cada mejora se justifica con la salida del propio motor.

El resultado es autonomía para diagnosticar rendimiento en producción sin depender de nadie y para explicar la causa con datos. Continúa de forma natural hacia el diseño de esquemas analíticos, hacia la operación de la base de datos con réplicas y hacia el trabajo con volúmenes que ya piden un motor columnar.

¿Para quién es este curso?

  • Personas desarrolladoras con experiencia que responden de la latencia de su servicio.
  • Perfiles de ingeniería de datos que mantienen procesos analíticos sobre PostgreSQL.
  • Administradores de bases de datos que quieren sistematizar el diagnóstico de rendimiento.
Bajo demanda

Curso diseñado con la ficha cerrada. Se produce al confirmarse un grupo o un contrato.

Código
BBD-192
Nivel
Especialización
Público
Desarrollo, Ingeniería / Industria
Entorno
PostgreSQL, SQL

Este curso incluye

  • 31 clases en vídeo bajo demanda
  • Práctica en entornos web y simuladores, sin instalar nada
  • Tutorización en el campus
  • Acceso desde móvil, tableta y ordenador
  • Actualizaciones cuando cambia la versión de la herramienta
  • Certificado de finalización

Sigue aprendiendo

Cursos relacionados

Bajo demanda

BBD-103Bases de Datos

SQL avanzado: ventanas, CTE y analítica

Funciones de ventana, expresiones comunes recursivas y consultas que sustituyen a cientos de líneas de código.

SQLPostgreSQLJupyterLab

Avanzado 30 clases

Bajo demanda

BBD-110Bases de Datos

PostgreSQL: administración y rendimiento

Configuración, índices, vacío, réplicas y monitorización de la base de datos libre de referencia.

PostgreSQLLinux

Avanzado 34 clases