Lección 6
Flujo de depuración SQL
Depura SQL de forma segura aislando filtros, joins, parámetros y sintaxis específica del dialecto.
Cuando una consulta devuelve filas incorrectas, demasiadas filas o ninguna fila, no empieces reescribiendo todo. Primero haz legible la estructura y luego aísla las partes variables.
Un flujo práctico
- Formatea el SQL para que cláusulas y joins sean visibles.
- Confirma la tabla base y la lista
SELECTmínima útil. - Elimina temporalmente filtros opcionales.
- Añade filtros de uno en uno.
- Comprueba condiciones de join y cardinalidad de la relación.
- Sustituye parámetros de aplicación por literales conocidos en un entorno local seguro.
- Confirma sintaxis específica del dialecto como funciones de fecha, comillas y operadores JSON.
Este flujo es lo bastante lento para ser seguro y lo bastante rápido para depuración en producción.
Separa formateo de ejecución
Un formateador puede mostrarte si el texto es parseable por una gramática soportada. No puede saber:
- Si la tabla existe en tu base de datos
- Si las columnas seleccionadas están indexadas
- Si los parámetros tienen los valores que esperas
- Si la consulta es semánticamente correcta para tu producto
Ese límite importa. Usa el formateador para legibilidad y luego la consola de base de datos, logs, planes explain y tests para el comportamiento de ejecución.
Conclusión clave
La mayoría de la depuración SQL se vuelve manejable cuando reduces la consulta a un núcleo conocido como bueno y añades complejidad de forma deliberada.
Usa el Formateador SQL como primer paso cuando una consulta copiada sea demasiado densa para depurar con seguridad.