Skip to main content

materialized_views

📥 Materialized Views for Expensive Queries​

Materialized views store the result of a complex query, improving read performance. Use REFRESH MATERIALIZED VIEW CONCURRENTLY to minimize lock impact and keep data up-to-date.

-- Create the materialized view
CREATE MATERIALIZED VIEW monthly_sales_summary AS
SELECT date_trunc('month', order_date) AS month,
SUM(amount) AS total_sales
FROM sales
GROUP BY month;

-- Refresh without blocking selects
REFRESH MATERIALIZED VIEW CONCURRENTLY monthly_sales_summary;