Mejores Prácticas para Consultas SQL
La higiene de las consultas reduce los incidentes y hace posible la optimización impulsada por EXPLAIN.
Cómo Usar Esta Lista
- Aplica en la lista de verificación de revisión de SQL.
- Haz cumplir mediante reglas de linting de ORM siempre que sea posible.
- Revisa cuando la latencia p95 regrese.
A - Proyección y Forma
- Selecciona columnas explícitas en las consultas de la aplicación. Sobrevive al crecimiento del esquema.
- Pagina grandes conjuntos de resultados. Usa Keyset sobre OFFSET profundo.
- Devuelve solo las filas necesarias. Filtra en SQL, no en bucles de la aplicación.
B - Joins y Lógica
- Prefiere EXISTS para comprobaciones de existencia. Evita trampas de IN NULL.
- Califica todos los nombres de columna en SQL de múltiples tablas. Previene referencias ambiguas.
- Coloca los filtros de join opcionales en ON. Preserva la semántica de OUTER JOIN.
C - Cultura de Rendimiento
- Usa EXPLAIN antes de la proliferación de índices. Verifica el cuello de botella.
- Mantén las estadísticas actualizadas después de cambios masivos. Usa ANALYZE o autovacuum.
- Almacena SQL en control de versiones. Permite revisiones de diferencias.
Preguntas Frecuentes
¿Está bien SELECT * en psql?
Está bien para exploración; no para código de aplicación.
Relacionados
- Conceptos Básicos de Consultas SQL - ejemplos
- Conceptos Básicos de EXPLAIN - planes
Versiones de la pila: Esta página fue escrita para PostgreSQL 18.4 (estable 18, mantenimiento 17), pgvector 0.8+, PgBouncer 1.x, Patroni 3.x, y PostGIS 3.5+.