Views / Materialized Views
PostgreSQL 🟡 MidDefinition
Une View est une requete nommee (virtuelle, recalculee a chaque appel). Une Materialized View stocke physiquement le resultat et doit etre rafraichie manuellement.
Analogie
View = regarder par la fenetre en temps reel. Materialized View = une photo de la vue, rapide a consulter mais a actualiser.
Exemple de code
CREATE MATERIALIZED VIEW monthly_sales AS
SELECT date_trunc('month', created_at) as m,
SUM(total) as revenue
FROM orders GROUP BY m;
REFRESH MATERIALIZED VIEW CONCURRENTLY
monthly_sales;
Cas d'usage
Materialized views pour des dashboards lourds a calculer, Views pour simplifier des requetes complexes.
Anti-pattern
Oublier de rafraichir la materialized view, affichant des donnees obsoletes.