lezione 09

views e materialized views

astrazione, riuso e performance dei report.

livello: intermedio durata: 30 min output: report layer badge: views

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.

start a brief