Submitted by: jryan999
A Materialized View is just that. A view which has been materialized to become a "table".
The big difference between a View and a Materialized View, is a View executes a query on-the-fly to return results. A Materialized View executes a query, but then stores (or caches) the results. You can then query the MVIEW.
This means once a Materialized view has been built, queries can run significantly faster then if they were run on-the-fly directly against the underlying data.
This performance benefit makes MVIEWS particularly suitable for creating aggregates (summaries of fact tables). You could for example, build a daily and monthly summary of sales records from a fact table of Sales Transactions.
One further benefit of MVIEWS is that (in Oracle 9i upwards) they can take part in the Query Rewrite option. This means a query to sum the sales by year (which doesn’t directly exist as an MVIEW) could be automatically re-written by Oracle to query the monthly summary rather than the underlying data. Automatically improving performance.
Finally MVIEWS can also be refreshed either entirely or with just the changes – depending how they were designed, and you can build indexes on MVIEWS.
MVIEWS can be used for almost any purpose (but most often for query performance), it has nothing specifically to do with audit trail on DML operations. This is a complete misunderstanding.
Above answer was rated as good by the following members:
DWH01, butair