更新时间:2023-10-17 GMT+08:00

使用

语法格式

  • 创建全量物化视图
    CREATE MATERIALIZED VIEW [ view_name ] AS { query_block }; 
  • 全量刷新物化视图
    REFRESH 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 MATERIALIZED VIEW mv AS select count(*) from t1;
CREATE MATERIALIZED VIEW

-- 查询物化视图结果
openGauss=# SELECT * FROM mv;
 count 
-------
     2
(1 row)

-- 再次向物化视图中基表插入数据
openGauss=# INSERT INTO t1 VALUES(3, 3);

-- 对全量物化视图做全量刷新
openGauss=# REFRESH MATERIALIZED VIEW mv;
REFRESH MATERIALIZED VIEW

-- 查询物化视图结果
openGauss=# SELECT * FROM mv;
 count 
-------
     3
(1 row)

-- 删除物化视图
openGauss=# DROP MATERIALIZED VIEW mv;
DROP MATERIALIZED VIEW