Conviene haber comprendido Calidad de consultas II.
Avanza en orden. Cada lección está redactada para Palta es Cool, utiliza ejemplos propios y termina con una actividad cuya respuesta puedes desplegar.
Ubícate antes de avanzar
Al terminar deberías poder relacionar Planes de ejecución con Índices y resolver un caso nuevo.
Reserva entre 75 y 120 minutos o divide el laboratorio en dos sesiones.
Las primeras secciones se leen sin instalar nada. Para practicar SQL prepara PostgreSQL o un DBMS equivalente.
Abrir la guía de herramientas →Diagnóstico rápido: ¿cómo se relacionan Planes de ejecución y Índices? +
No necesitas acertar todavía. Escribe una hipótesis de dos líneas y compárala con tu respuesta al finalizar; si puedes corregirla y justificar el cambio, hubo aprendizaje.
Aprende el tema paso a paso
Aprenderás a mejorar consultas usando evidencia: medirás su comportamiento, interpretarás un plan de ejecución y decidirás cuándo un índice ayuda o solo añade costo.
- El tiempo observado y el plan explican problemas diferentes
- Un índice acelera ciertos accesos y encarece cada escritura
- La mejor consulta conserva el significado y reduce trabajo
El tiempo observado y el plan explican problemas diferentes
EXPLAIN muestra la estrategia estimada; EXPLAIN ANALYZE, cuando el motor lo permite, ejecuta y compara estimaciones con filas reales. Una consulta lenta puede deberse a lecturas, CPU, bloqueos, red o falta de memoria, no solo a su texto.
Define una carga y datos representativos.
Compara filas estimadas y reales en cada operador.
Distingue latencia individual de capacidad bajo concurrencia.
¿El operador con mayor costo estimado es siempre el responsable del tiempo real?
Mostrar respuesta +
No. El costo es una estimación interna, no milisegundos. Se contrasta con tiempo, filas reales, lecturas y esperas antes de concluir.
Un índice acelera ciertos accesos y encarece cada escritura
Un índice B-tree ordena claves y favorece igualdades, rangos y ordenaciones compatibles. En un índice compuesto, el orden de columnas debe seguir los patrones de filtro y orden. Baja selectividad o tablas pequeñas pueden favorecer un recorrido completo.
Indexa consultas frecuentes, no columnas por costumbre.
Considera el prefijo y el orden de un índice compuesto.
Mide espacio, mantenimiento y costo de INSERT, UPDATE y DELETE.
¿Por qué crear un índice por cada columna puede empeorar el sistema?
Mostrar respuesta +
Cada índice ocupa espacio, debe actualizarse en las escrituras y añade opciones al optimizador. Además, varios índices simples no sustituyen siempre a uno compuesto adecuado.
La mejor consulta conserva el significado y reduce trabajo
Conviene filtrar temprano, pedir solo columnas necesarias, evitar transformaciones que oculten la columna indexada y revisar la granularidad de las uniones. Cada cambio se prueba con el mismo resultado esperado y varias cargas.
Una condición sargable permite buscar por el valor almacenado.
Paginar por una clave estable evita saltos costosos y duplicados.
Una mejora local no debe degradar el conjunto de trabajo.
¿Por qué una consulta más corta no es necesariamente más rápida?
Mostrar respuesta +
Porque la cantidad de texto no determina el trabajo físico. Importan el plan, los datos, los índices, las lecturas, la memoria y la concurrencia.
Tu recorrido en tres ideas
- El tiempo observado y el plan explican problemas diferentes
- Un índice acelera ciertos accesos y encarece cada escritura
- La mejor consulta conserva el significado y reduce trabajo
Diagnostica una consulta antes de indexar
Une selectividad, estadísticas, operadores físicos y costo de escritura para evitar la idea simplista de que “más índices” siempre significa “más velocidad”.
Un informe de pedidos por cliente y fecha tarda ocho segundos en producción, pero parece rápido con pocos datos de prueba.
Procedimiento
- Define resultado, carga, volumen y tiempo de referencia.
- Obtén el plan con filas estimadas y reales; identifica el primer punto donde divergen.
- Propón un índice o reescritura, repite la misma medición y comprueba el costo en escrituras.
Evidencia mínima
- Mismo resultado y conjunto de datos.
- Plan anterior y posterior con filas y lecturas.
- Tiempo en frío, caliente y con una carga representativa.
Mostrar razonamiento modelo +
Una respuesta sólida no empieza creando el índice. Primero demuestra si el costo proviene del acceso, la unión, una estimación equivocada o una espera. El cambio elegido debe explicar qué operador deja de hacer trabajo y qué mantenimiento añade.
Para ir más lejos¿Qué cambiaría si el 40 % de los pedidos perteneciera a un solo cliente?
Comprueba que puedes usarlo
Antes de continuar, revisa estos tropiezos frecuentes y resuelve un caso sin copiar los ejemplos.
Crear índices sin medir consultas ni carga de escritura.
Comparar tiempos con datos, caché o resultados diferentes.
Ahora hazlo sin guía
Diagnostica una consulta de pedidos por cliente y fecha: formula una línea base, interpreta el plan y propone un índice y una reescritura.
Mostrar pauta de corrección +
- Conserva exactamente el resultado.
- Relaciona operadores con filas reales y lecturas.
- Mide beneficios y costos bajo una carga comparable.
