更新时间:2024-06-07 GMT+08:00
使用
语法格式
- 创建增量物化视图
CREATE INCREMENTAL MATERIALIZED VIEW view_name AS query;
- 全量刷新物化视图
REFRESH MATERIALIZED VIEW view_name;
- 增量刷新物化视图
REFRESH INCREMENTAL MATERIALIZED VIEW view_name;
- 删除物化视图
DROP MATERIALIZED VIEW view_name;
- 查询物化视图
SELECT * FROM view_name;
参数说明
- view_name
要创建的物化视图名。
取值范围:字符串,要符合标识符的命名规范。
- AS query
一个SELECT VALUES命令或者一个运行预备好的SELECT或VALUES查询的EXECUTE命令。
示例
-- 修改表的默认类型 gaussdb=# SET enable_default_ustore_table=off; -- 准备数据 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 gaussdb=# DROP TABLE t1; DROP TABLE
父主题: 增量物化视图