views
le view astraggono query complesse e danno un layer semantico.
CREATE VIEW v_sales AS
SELECT customer_id, SUM(amount) AS total
FROM orders
GROUP BY customer_id;
materialized views
le materialized view salvano il risultato e accelerano report pesanti.
CREATE MATERIALIZED VIEW mv_sales AS
SELECT date, SUM(amount) AS total
FROM orders GROUP BY date;
strategie di refresh
usa refresh schedulati o on demand in base a freschezza vs performance.
- refresh completo per piccoli dataset
- refresh incrementale quando possibile
- monitoraggio delle latenze
esercizi
crea una view per le vendite per categoria.
aggiungi una materialized view per un report giornaliero.
checklist
- usa view per riuso
- materialized per report pesanti
- schedula refresh
- documenta dipendenze
panoramica
In questo capitolo su views e materialized views, astrazione, riuso e performance dei report. L'obiettivo è trasformare i concetti in micro-pattern riutilizzabili con esempi piccoli e verificabili.
Lavora in sequenza: leggi, prova, modifica gli snippet e annota i trade-off principali (performance, leggibilità, manutenzione).
badge: views
obiettivi
- capire e applicare views in uno scenario reale
- capire e applicare materialized in uno scenario reale
- capire e applicare refresh in uno scenario reale
- capire e applicare esercizi in uno scenario reale
scheda rapida
SELECT categoria, COUNT(*) AS tot
FROM prodotti
WHERE attivo = TRUE
GROUP BY categoria
ORDER BY tot DESC
LIMIT 5;
Adatta questo scheletro agli esempi della lezione e sostituisci i dati con il tuo dominio.
tips
- usa alias chiari
- filtra presto con WHERE
- controlla i piani di esecuzione
- usa view per semplificare accesso
- attenzione a performance
- versiona le view
tip: Una view è un contratto: mantienila stabile.
mini progetto
Crea view per dashboard.
- definisci query base
- crea view
- testa con filtri
- aggiorna docs
output atteso: uno script o query ripetibile con risultati verificabili.