Saltar al contenido
Explorar conocimiento

concepto · intermedio · 2 min de lectura

Vistas Materializadas

Una vista materializada es el resultado precalculado de una query almacenado físicamente, que se refresca periódicamente, cambiando tiempo de ejecución por espacio en disco.

No requiere conocimientos previos.

Alcance en breve

Cubre

  • Vistas Materializadas as a concept

No cubre

  • implementation details

Supone

  • The reader understands relevant fundamentals.

Resumen

Una vista normal en SQL es una query guardada con un nombre. Cada vez que la consultás, la base de datos ejecuta la query subyacente. Una vista materializada, en cambio, ejecuta la query una vez, guarda el resultado en disco —como una tabla—, y las consultas posteriores leen ese resultado precalculado.

La ganancia es velocidad: una query que hace JOINs y agregaciones sobre millones de filas tarda segundos. Su vista materializada tarda milisegundos. El costo es que los datos están desactualizados hasta el próximo refresco —que puede ser manual, por schedule o automático según la base de datos—.

Alcance y supuestos

Cubre vistas materializadas, su diferencia con vistas normales y estrategias de refresco. Asume familiaridad con SQL.

Modelo mental

El resumen diario de ventas que el gerente mira cada mañana. En lugar de ejecutar un reporte pesado cada vez que quiere saber las ventas, un proceso nocturno calcula todo y lo deja listo en una hoja. La vista materializada es esa hoja precalculada.

Uso práctico

  • ✅ Dashboards, reportes, agregaciones complejas sobre datos que cambian poco.
  • ❌ Datos que necesitan estar actualizados al segundo.

Ejemplo trabajado: vista materializada de ventas diarias

CREATE MATERIALIZED VIEW daily_sales AS
SELECT date, SUM(amount) as total, COUNT(*) as orders
FROM sales GROUP BY date;
REFRESH MATERIALIZED VIEW daily_sales;

Evidencia

  • PostgreSQL soporta vistas materializadas con refresco manual o con extensión pg_ivm. Oracle y SQL Server las soportan con refresco automático.

Fuentes citadas