VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

REFRESH MATERIALIZED VIEW

功能描述

REFRESH MATERIALIZED VIEW会以全量刷新的方式对物化视图进行刷新。

注意事项

  • 全量刷新既可以对全量物化视图执行,也可以对增量物化视图执行。
  • 刷新物化视图需要当前用户拥有基表的SELECT权限,非物化视图的owner用户还需要INDEX权限。

语法格式

REFRESH [ INCREMENTAL ] MATERIALIZED VIEW_name
    [ WITH [ NO ] DATA ]

参数说明

  • INCREMENTAL

    指定此属性为增量刷新,不指定此属性为全量刷新。

  • view_name

    要刷新的物化视图的名称。

  • [ WITH [ NO ] DATA ]

    • 如果声明了WITH DATA(或缺省),后端查询被执行以提供新的数据, 物化视图留在可扫描的状态。

    • 如果声明了WITH NO DATA, 那么不会产生新的数据,并且物化视图留在一个不可扫描的状态。

示例

1、创建一个普通表。

CREATE TABLE my_table (c1 int, c2 int);

2、创建全量物化视图。

CREATE MATERIALIZED VIEW my_mv AS SELECT * FROM my_table;

3、创建增量物化视图。

CREATE INCREMENTAL MATERIALIZED VIEW my_imv AS SELECT * FROM my_table;

4、基表写入数据。

INSERT INTO my_table VALUES(1,1),(2,2);

5、对全量物化视图my_mv进行全量刷新。

REFRESH MATERIALIZED VIEW my_mv;

6、对增量物化视图my_imv进行全量刷新。

REFRESH MATERIALIZED VIEW my_imv;

相关链接

ALTER MATERIALIZED VIEWCREATE INCREMENTAL MATERIALIZED VIEWCREATE MATERIALIZED VIEWCREATE TABLEDROP MATERIALIZED VIEWREFRESH INCREMENTAL MATERIALIZED VIEW