Salta ai contenuti
Manuale LogoManuale Logo

Materialized view

Una materialized view è simile a una view, ma con una differenza importante: salva anche il risultato della query.

Il risultato è già calcolato, invece di essere prodotto da zero a ogni lettura.

Una view normale esegue la query quando la leggi. Una materialized view conserva una copia del risultato, quindi alcune letture possono essere più veloci.

Se una query è pesante e viene letta spesso, avere il risultato già materializzato può velocizzare molto le consultazioni.

Questo succede spesso in report e dashboard.

Immagina un report che somma gli ordini per giorno:

CREATE MATERIALIZED VIEW vendite_giornaliere AS
SELECT data_ordine, SUM(totale) AS totale_giorno
FROM ordini
GROUP BY data_ordine;

Invece di rifare la somma ogni volta, il database può leggere il risultato già preparato.

La materialized view non si aggiorna come una view normale. Il risultato va rigenerato o aggiornato secondo le modalità previste dal database.

È una buona candidata quando il risultato è costoso da calcolare ma viene letto spesso.

Per report e dashboard, questa differenza può essere molto importante.