Materialized view
Una vista che conserva il risultato
Sezione intitolata “Una vista che conserva il risultato”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.
Perché può essere utile
Sezione intitolata “Perché può essere utile”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.
Un esempio piccolo
Sezione intitolata “Un esempio piccolo”Immagina un report che somma gli ordini per giorno:
CREATE MATERIALIZED VIEW vendite_giornaliere ASSELECT data_ordine, SUM(totale) AS totale_giornoFROM ordiniGROUP BY data_ordine;Invece di rifare la somma ogni volta, il database può leggere il risultato già preparato.
Il punto da ricordare
Sezione intitolata “Il punto da ricordare”La materialized view non si aggiorna come una view normale. Il risultato va rigenerato o aggiornato secondo le modalità previste dal database.
Quando può avere senso sceglierla
Sezione intitolata “Quando può avere senso sceglierla”È una buona candidata quando il risultato è costoso da calcolare ma viene letto spesso.
Per report e dashboard, questa differenza può essere molto importante.