A view is a stored query that runs on every access. A materialized view stores the result physically and must be refreshed to update. Materialized views can be much faster for heavy reads but can be stale.