Materialized Views
Single Origin can help you manage and analyse your materialized views in a convenient manner.
To register a materialized view,
- Select 'Materialized View' item in the navigation bar.
- Click the 'New Materialized View' button.
- Fill the required fields.
- Click the 'Test' button.
- Go back to refine the materialized view sql if you are not satisfied with the test result.
- Click the 'Register' button.
Format of Materialized View Sql
Currently only sqls in the form of CREATE [or update/replace] [TRANSIENT] TABLE/MATERIALIZE VIEW AS SELECT....
are supported and support for other sql forms will be coming soon.
Limitations on Materialized View Support
Only Column Expressions Are Compared
When comparing column usages, Single Origin now compares the column expression string which means two semantically equal column usages could be seen as different.
For example, assuming there is a table PRODUCT
with a column of type OBJECT named meta
, and meta contains two fields created_at
and updated_at
, the two sqls below should be seen as equal:
/// sql 1
SELECT GET(meta, 'created_at') FROM PRODUCT;
/// sql 2
SELECT OBJECT_DELETE(meta, 'updated_at') FROM PRODUCT;
But now they are seen as different since their column expressions are different.
Apart from selected columns, where clauses will also be impacted by this limitation.
Cross View/Source Table Optimization Is Not Supported Yet
Single Origin allows materialized views to be created from an view, however, optimizations of queries based on source table with materialized views created from an view are not supported.
Following the PRODUCT
example above, if there is a view derived from the PRODUCT
table called PRODUCT_VIEW
and a materialized view is created from PRODUCT_VIEW
, a query scanning the source table PRODUCT
could not be optimized by the materialized view even if they share same column usages.
Updated 5 months ago