Views & Materialized Views: Performance
Module: Schema Design & Advanced DDL
Regular views have no storage cost but no performance benefit - they execute the query every time.
Materialized views trade storage and refresh overhead for fast queries. Typical speedup: 10-100x.
Refresh during low-traffic periods. Use CONCURRENTLY to avoid blocking. Index materialized views for best query performance.
Choose refresh frequency based on: (query_frequency × time_saved) > refresh_time
Materialized views provide 10-100x speedup for complex queries
Index materialized views on commonly filtered/sorted columns
Use CONCURRENTLY refresh to avoid locking
Schedule refreshes during low-traffic periods
Consider incremental refresh for large materialized views
Regular views have zero performance benefit - they execute query every time
Using regular views expecting performance improvement - they don't cache results
Forgetting to refresh materialized views - data becomes stale
Refreshing too frequently - wastes resources
Not indexing materialized views - loses performance benefit
Using materialized views for real-time data - staleness is unacceptable