使用

语法格式

  • 创建全量物化视图

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

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

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

    1. SELECT * FROM [ view_name ];

参数说明

  • view_name

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

  • AS query

    一个SELECT、TABLE 或者VALUES命令。

示例

  1. --准备数据。
  2. openGauss=# CREATE TABLE t1(c1 int, c2 int);
  3. openGauss=# INSERT INTO t1 VALUES(1, 1);
  4. openGauss=# INSERT INTO t1 VALUES(2, 2);
  5. --创建全量物化视图。
  6. openGauss=# CREATE MATERIALIZED VIEW mv AS select count(*) from t1;
  7. CREATE MATERIALIZED VIEW
  8. --查询物化视图结果。
  9. openGauss=# SELECT * FROM mv;
  10. count
  11. -------
  12. 2
  13. (1 row)
  14. --向物化视图中基表插入数据。
  15. openGauss=# INSERT INTO t1 VALUES(3, 3);
  16. --对全量物化视图做全量刷新。
  17. openGauss=# REFRESH MATERIALIZED VIEW mv;
  18. REFRESH MATERIALIZED VIEW
  19. --查询物化视图结果。
  20. openGauss=# SELECT * FROM mv;
  21. count
  22. -------
  23. 3
  24. (1 row)
  25. --删除物化视图。
  26. openGauss=# DROP MATERIALIZED VIEW mv;
  27. DROP MATERIALIZED VIEW