Contenido del curso
Bases de Datos: De Cero a Experto

🎯 Objetivo:

Aprender técnicas para mejorar el rendimiento de las consultas SQL y hacer que las bases de datos respondan más rápido.


🔍 ¿Por qué optimizar consultas?

  • Consultas lentas pueden afectar la experiencia de usuario.

  • Mejor rendimiento reduce carga en servidores y costos.

  • Consultas eficientes aprovechan mejor los índices y recursos.


⚙️ Técnicas clave para optimizar consultas

1. Seleccionar solo las columnas necesarias

Evita usar SELECT *, mejor especifica las columnas que necesitas:

sql
SELECT nombre, email FROM usuarios WHERE activo = true;

2. Usar índices apropiados

  • Crea índices en columnas que usas en filtros WHERE, JOIN y ordenamientos ORDER BY.

  • Verifica que los índices se estén usando con planes de ejecución (EXPLAIN).

3. Evitar funciones en columnas filtradas

No uses funciones que impidan usar índices, por ejemplo:

sql
-- Malo para índices:
WHERE LOWER(nombre) = 'cristian'

-- Mejor:
WHERE nombre = 'Cristian'

4. Limitar resultados cuando sea posible

Usa LIMIT para reducir datos devueltos si no necesitas todo:

sql
SELECT * FROM ventas ORDER BY fecha DESC LIMIT 10;

5. Optimizar joins

  • Asegúrate que las columnas usadas en joins estén indexadas.

  • Prefiere joins simples y evita subconsultas anidadas cuando puedas.


🧩 Herramientas para analizar y optimizar

  • EXPLAIN / EXPLAIN ANALYZE para planes de ejecución.

  • Monitor de consultas lentas en bases de datos.

  • Herramientas de profiling y tuning (pgAdmin, MySQL Workbench).


📝 Actividad práctica

  1. Escribe una consulta que traiga muchos datos y mide su tiempo.

  2. Crea índices en las columnas usadas en filtros.

  3. Repite la consulta y observa la mejora.

  4. Ajusta la consulta para evitar funciones en filtros y limitar resultados.


✅ Revisión rápida

  • ¿Por qué evitar SELECT *?

  • ¿Qué es el plan de ejecución y para qué sirve?

  • ¿Cómo afecta un índice en la optimización?

Scroll al inicio