-
不支持场景 物化视图中不支持带Stream计划,多表join连接计划以及subquery计划。 不支持WITH子句、GROUP BY子句、ORDER BY子句、LIMIT子句、WINDOW子句、DISTINCT算子、AGG算子,不支持除UNION ALL外的子查询。 除少部分ALTER操作外,不支持对物化视图中基表做绝大多数DDL操作。 创建物化视图不可指定物化视图分布列。 不可对物化视图做增删改操作,只支持查询语句。 不支持用临时表/hashbucket/unlog/分区表创建物化视图,只支持hash分布表。 不支持物化视图嵌套创建(物化视图上创建物化视图)。 不支持UN
LOG GED类型的物化视图,不支持WITH语法。 Ustore引擎不支持增量物化视图的创建和使用。
-
不支持场景 物化视图中不支持多表Join连接计划以及subquery计划。 不支持WITH子句、GROUP BY子句、ORDER BY子句、LIMIT子句、WINDOW子句、DISTINCT算子、AGG算子,不支持除UNION ALL外的子查询。 除少部分ALTER操作外,不支持对物化视图中基表执行绝大多数DDL操作。 物化视图不支持增删改操作,只支持查询语句。 不支持用临时表/hashbucket/unlog/分区表创建物化视图。 不支持物化视图嵌套创建(即物化视图上创建物化视图)。 不支持UNLOGGED类型的物化视图,不支持WITH语法。 Ustore引擎不支持增量物化视图的创建和使用。
-
不支持场景 物化视图中不支持带Stream计划,多表join连接计划以及subquery计划。 除少部分ALTER操作外,不支持对物化视图中基表做绝大多数DDL操作。 创建物化视图不可指定物化视图分布列。 不可对物化视图做增删改操作,只支持查询语句。 不支持用临时表/hashbucket/unlog/分区表创建物化视图,只支持hash分布表。 不支持物化视图嵌套创建(物化视图上创建物化视图)。 仅支持行存表。 不支持UNLOGGED类型的物化视图,不支持WITH语法。
-
语法格式 创建增量物化视图 CREATE INCREMENTAL MATERIALIZED VIEW [ view_name ] AS { query_block }; 全量刷新物化视图 REFRESH MATERIALIZED VIEW [ view_name ]; 增量刷新物化视图 REFRESH INCREMENTAL MATERIALIZED VIEW [ view_name ]; 删除物化视图 DROP MATERIALIZED VIEW [ view_name ]; 查询物化视图 SELECT * FROM [ view_name ];
-
示例 -- 准备数据
CREATE TABLE t1(c1 int, c2 int);
INSERT INTO t1 VALUES(1, 1);
INSERT INTO t1 VALUES(2, 2);
-- 创建增量物化视图
openGauss=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1;
CREATE MATERIALIZED VIEW
-- 插入数据
openGauss=# INSERT INTO t1 VALUES(3, 3);
INSERT 0 1
-- 增量刷新物化视图
openGauss=# REFRESH INCREMENTAL MATERIALIZED VIEW mv;
REFRESH MATERIALIZED VIEW
-- 查询物化视图结果
openGauss=# SELECT * FROM mv;
c1 | c2
----+----
1 | 1
2 | 2
3 | 3
(3 rows)
-- 插入数据
openGauss=# INSERT INTO t1 VALUES(4, 4);
INSERT 0 1
-- 全量刷新物化视图
openGauss=# REFRESH MATERIALIZED VIEW mv;
REFRESH MATERIALIZED VIEW
-- 查询物化视图结果
openGauss=# select * from mv;
c1 | c2
----+----
1 | 1
2 | 2
3 | 3
4 | 4
(4 rows)
-- 删除物化视图
openGauss=# DROP MATERIALIZED VIEW mv;
DROP MATERIALIZED VIEW
-
语法格式 创建增量物化视图 CREATE INCREMENTAL MATERIALIZED VIEW [ view_name ] AS { query_block }; 全量刷新物化视图 REFRESH MATERIALIZED VIEW [ view_name ]; 增量刷新物化视图 REFRESH INCREMENTAL MATERIALIZED VIEW [ view_name ]; 删除物化视图 DROP MATERIALIZED VIEW [ view_name ]; 查询物化视图 SELECT * FROM [ view_name ];
-
示例 --准备数据。
openGauss=# CREATE TABLE t1(c1 int, c2 int);
openGauss=# INSERT INTO t1 VALUES(1, 1);
openGauss=# INSERT INTO t1 VALUES(2, 2);
--创建增量物化视图。
openGauss=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1;
CREATE MATERIALIZED VIEW
--插入数据。
openGauss=# INSERT INTO t1 VALUES(3, 3);
INSERT 0 1
--增量刷新物化视图。
openGauss=# REFRESH INCREMENTAL MATERIALIZED VIEW mv;
REFRESH MATERIALIZED VIEW
--查询物化视图结果。
openGauss=# SELECT * FROM mv;
c1 | c2
----+----
1 | 1
2 | 2
3 | 3
(3 rows)
--插入数据。
openGauss=# INSERT INTO t1 VALUES(4, 4);
INSERT 0 1
--全量刷新物化视图。
openGauss=# REFRESH MATERIALIZED VIEW mv;
REFRESH MATERIALIZED VIEW
--查询物化视图结果。
openGauss=# select * from mv;
c1 | c2
----+----
1 | 1
2 | 2
3 | 3
4 | 4
(4 rows)
--删除物化视图。
openGauss=# DROP MATERIALIZED VIEW mv;
DROP MATERIALIZED VIEW
-
示例 -- 准备数据CREATE TABLE t1(c1 int, c2 int);INSERT INTO t1 VALUES(1, 1);INSERT INTO t1 VALUES(2, 2);-- 创建增量物化视图gaussdb=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1;CREATE MATERIALIZED VIEW-- 插入数据gaussdb=# INSERT INTO t1 VALUES(3, 3);INSERT 0 1-- 增量刷新物化视图gaussdb=# REFRESH INCREMENTAL MATERIALIZED VIEW mv;REFRESH MATERIALIZED VIEW-- 查询物化视图结果gaussdb=# SELECT * FROM mv; c1 | c2 ----+---- 1 | 1 2 | 2 3 | 3(3 rows)-- 插入数据gaussdb=# INSERT INTO t1 VALUES(4, 4);INSERT 0 1-- 全量刷新物化视图gaussdb=# REFRESH MATERIALIZED VIEW mv;REFRESH MATERIALIZED VIEW-- 查询物化视图结果gaussdb=# select * from mv; c1 | c2 ----+---- 1 | 1 2 | 2 3 | 3 4 | 4(4 rows)-- 删除物化视图gaussdb=# DROP MATERIALIZED VIEW mv;DROP MATERIALIZED VIEW
-
语法格式 创建增量物化视图 CREATE INCREMENTAL MATERIALIZED VIEW [ view_name ] AS { query_block }; 全量刷新物化视图 REFRESH MATERIALIZED VIEW [ view_name ]; 增量刷新物化视图 REFRESH INCREMENTAL MATERIALIZED VIEW [ view_name ]; 删除物化视图 DROP MATERIALIZED VIEW [ view_name ]; 查询物化视图 SELECT * FROM [ view_name ];