使用

语法格式

  • 创建全量物化视图

    CREATE MATERIALIZED VIEW [ view_name ] AS { query_block }; 
    
  • 全量刷新物化视图

    REFRESH MATERIALIZED VIEW [ view_name ];
    
  • 删除物化视图

    DROP MATERIALIZED VIEW [ view_name ];
    
  • 查询物化视图

    SELECT * FROM [ view_name ];
    

参数说明

  • view_name

    要创建的物化视图的名称。

  • AS query

    一个SELECT、TABLE 或者VALUES命令。

示例

--准备数据。
openGauss=# CREATE TABLE t1(c1 int, c2 int);
openGauss=# INSERT INTO t1 VALUES(1, 1);
openGauss=# 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
意见反馈
编组 3备份
    openGauss 2024-03-28 00:51:10
    取消