What Is Materialized View?
In computing, a materialized view is a database object that contains the results of a query. For example, it may be a local copy of data located remotely or may be a subset of the rows and or columns of a table or join result or may be a summary using an aggregate function.
Materialized views can be used for many purposes, including:
- Denormalization
- Validation
- Data Warehousing
- Replication
What You Need To Know About Materialized View
- Materialized views are physical copies of origin tables contained by a database.
- Materialized views are non-virtual schema. It is a common part of database warehousing. It is primarily used for summarizing, pre-computing, replicating and distributing data etc.
- A materialized view is capable of storing data. It makes accessibility to data a faster process.
- Materialized views have to be updated with the use of triggers or manually.
- Materialized views are stored on the disc.
- A materialized view is capable of being stored in a different database or the same database as the base table (s).
- There is no SQL standard for defining a materialized view and the functionality is provided by some database systems as an extension.
- The rowid is different in case of materialized views.
- A materialized view is fast in processing. A materialized view log serves as a schema object that records all changes on to the data contained in a master table and can be refreshed incrementally.
- A materialized view does not reflect real-time data. The data is only as up to date as the last time the materialized view was refreshed.
- A materialized view is best utilized when you have a really big table and people do frequent aggregates on it and you require fast response.
- A materialized view is a ‘’pre-answered’’ query- the query is executed when the materialized view is refreshed. Its result is stored in the database and the query only browses the result.
- DML commands are capable of being made in materialized views.
- Materialized views are efficient when the view is accessed frequently.
View
Views in database are kind of logical virtual tables. It is actually a composition of a table in the form of a predetermined SQL query. A view also has rows and columns as they are in real table in the database. We can create a view by selecting fields from one or more tables present in the database which depends on the written SQL query to create a view. A view can either have all the rows of a table or specific rows based on certain conditions.
Views, which are a type of virtual tables, allow users to do the following:
- Structure data in a way that users or classes of users find natural or intuitive.
- Restrict access to the data in such a way that a user can see and sometimes modify exactly what they need and no more.
- Summarize data from various tables which can be used to generate reports.
What You Need To Know About View
- Views are virtual tables that are developed from a single/multiple views or tables.
- Views are the virtual projections of an output query or the dynamic view of data in a database that is presented to the user whenever requested.
- Views are not capable of storing any data, they only point to the data that has to be viewed.
- Views are automatically updated every time a virtual view/table is put to use.
- Views are not stored physically on the disk.
- A view is capable of being used in the places wherever a table can be put to use.
- There is an SQL standard of defining a view.
- When a view is created with the use of any table, then the rowed of the view will be same as the rowed of the original table.
- Views are slow to process.
- A view’s output is built on the fly; it shows real-time data from the base tables being queried.
- A view is best utilized when you want to hide the implementation details of a complex query or when you want to restrict access to a set of rows/columns in the base tables.
- A view’s SQL is executed at run-time. The results are fetched from the view’s base tables when the view is queried.
- In simple views, DML commands are not a possibility in case they are made using multiple tables.
- Views are useful when the view is accessed infrequently.
Also Read: Difference Between Normalization And Denormalization In SQL
Difference Between Materialized View And View In Tabular Form
BASIS OF COMPARISON | MATERIALIZED VIEW | VIEW |
Definition | Materialized views are physical copies of origin tables contained by a database. | Views are virtual tables that are developed from a single/multiple views or tables. |
Description | Materialized views are non-virtual schema. It is a common part of database warehousing. It is primarily used for summarizing, pre-computing, replicating and distributing data etc. | Views are the virtual projections of an output query or the dynamic view of data in a database that is presented to the user whenever requested. |
Capability | A materialized view is capable of storing data. It makes accessibility to data a faster process. | Views are not capable of storing any data, they only point to the data that has to be viewed. |
Updating | Materialized views have to be updated with the use of triggers or manually. | Views are automatically updated every time a virtual view/table is put to use. |
Disk Storage | Materialized views are stored on the disc. | Views are not stored physically on the disk. |
Storage Capability | A materialized view is capable of being stored in a different database or the same database as the base table (s). | A view is capable of being used in the places wherever a table can be put to use. |
SQL Definition Standard | There is no SQL standard for defining a materialized view and the functionality is provided by some database systems as an extension. | There is an SQL standard of defining a view. |
Creation | The rowid is different in case of materialized views. | When a view is created with the use of any table, then the rowed of the view will be same as the rowed of the original table. |
Processing Speed | A materialized view is fast in processing. | Views are slow to process. |
Real-time Data | A materialized view does not reflect real-time data. The data is only as up to date as the last time the materialized view was refreshed. | A view’s output is built on the fly; it shows real-time data from the base tables being queried. |
Efficient Utilization | A materialized view is best utilized when you have a really big table and people do frequent aggregates on it and you require fast response. | A view is best utilized when you want to hide the implementation details of a complex query or when you want to restrict access to a set of rows/columns in the base tables. |
Execution | A materialized view is a ‘’pre-answered’’ query- the query is executed when the materialized view is refreshed. Its result is stored in the database and the query only browses the result. | A view’s SQL is executed at run-time. The results are fetched from the view’s base tables when the view is queried. |
DML Commands | DML commands are capable of being made in materialized views. | In simple views, DML commands are not a possibility in case they are made using multiple tables. |
Access | Materialized views are efficient when the view is accessed frequently. | Views are useful when the view is accessed infrequently. |
Also Read: Difference Between MongoDB And RDBMS