Views / Materialized Views
PostgreSQL 🟡 MidDéfinition
Une View est une requête nommée (virtuelle, recalculee a chaque appel). Une Materialized View stocke physiquement le résultat et doit être rafraîchie manuellement.
Analogie
View = regarder par la fenêtre en temps réel. 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 requêtes complexes.
Anti-pattern
Termes liés
En entretien
Quelle différence entre une View et une Materialized View ?
Une View est une requête nommée virtuelle, recalculée à chaque appel, comme regarder par la fenêtre en temps réel. Une Materialized View stocke physiquement le résultat, comme une photo de la vue, rapide à consulter mais à actualiser.
Quel est le piège classique avec les materialized views ?
Le piège est d'oublier de la rafraîchir, ce qui affiche des données obsolètes. On utilise REFRESH MATERIALIZED VIEW, idéalement CONCURRENTLY pour ne pas bloquer les lectures pendant le rafraîchissement.
Fiche mise à jour le 2026-09-27