功能描述
CREATE INCREMENTAL MATERIALIZED VIEW 会创建一个增量物化视图,
并且后续
可以使用REFRESH MATERIALIZED VIEW(全量刷新)和REFRESH INCREMENTAL
MATERIALIZED VIEW(增量刷新)刷新物化视图的数据。
CREATE INCREMENTAL MATERIALIZED VIEW 类似于CREATE TABLE AS,不过它
会记住被用来初始化该视图的查询,
因此它可以在后续中进行数据刷新。
一个物化视图有很
多和表相同的属性,但是不支持临时物化视图。
注意事项
增量物化视图不可以在临时表或全局临时表上创建。
增量物化视图仅支持简单过滤查询和基表UNION ALL 查询。
创建增量物化视图不可指定分布列。
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
883
创建增量物化视图后,基表中的绝大多数DDL 操作不再支持。
不支持对增量物化视图进行IUD 操作。
增量物化视图创建后,当基表数据发生变化时,需要使用刷新(REFRESH)命令保持
物化视图与基表同步。
语法格式
CREATE INCREMENTAL MATERIALIZED VIEW mv_name
[ (column_name [, ...] ) ]
[ TABLESPACE tablespace_name ]
AS query;
参数说明
mv_name
要创建的物化视图的名称(可以被模式限定)
。
取值范围:字符串,要符合标识符的命名规范。
column_name
新物化视图中的一个列名。
物化视图支持指定列,
指定列需要和后面的查询语句结果的
列数量保持一致;如果没有提供列名,会从查询的输出列名中获取列名。
取值范围:字符串,要符合标识符的命名规范。
TABLESPACE tablespace_name
指定新建物化视图所属表空间。如果没有声明,将使用默认表空间。
AS query
一个SELECT 或者TABLE 命令。这个查询将在一个安全受限的操作中运行。
示例
--创建一个普通表
CREATE TABLE my_table (c1 int, c2 int);
--创建增量物化视图
CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table;
--基表写入数据
GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
884
INSERT INTO my_table VALUES(1,1),(2,2);
--对增量物化视图my_imv 进行增量刷新
REFRESH INCREMENTAL MATERIALIZED VIEW my_imv;
相关链接
ALTER MATERIALIZED VIEW,CREATE MATERIALIZED VIEW,
CREATE TABLE,
DROP MATERIALIZED VIEW ,REFRESH INCREMENTAL MATERIALIZED VIEW ,
REFRESH MATERIALIZED VIEW