Working with materialized views

A materialized view is a view whose result set has been computed and stored on disk, similar to a base table. Conceptually, a materialized view
is both a view (it has a query specification stored in the catalog) and a table (it has persistent materialized rows). So,
many operations that you perform on tables can be performed on materialized views as well. For example, you can build indexes
on, and unload from, materialized views.

Consider using materialized views for frequently executed, expensive queries, such as those involving intensive aggregation
and join operations. Materialized views provide a queryable structure in which to store aggregated, joined data. Materialized
views are designed to improve performance in environments where the database is large, and where frequent queries result in
repetitive aggregation and join operations on large amounts of data. For example, materialized views are ideal for use with
data warehousing applications.

Materialized views are precomputed using data from the base tables that they refer to. Materialized views are read-only; no
data-altering operations such as INSERT, LOAD, DELETE, and UPDATE can be used on them.