Postgres’ docs note:
While access to the data stored in a materialized view is often much faster than accessing the underlying tables directly or through a view, the data is not always current;
https://www.postgresql.org/docs/9.6/rules-materializedviews.html
Why is it “often much faster?”
Best Answer
The data of a MV is stored in a regular table, there is no magic to that. But access is typically (much) faster for multiple possible reasons:
In short: most expensive work of sophisticated queries on underlying tables is already done, which allows potentially much faster access.