使用

语法格式

  • 创建全量物化视图

    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 ];

示例

  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. --查询物化视图结果。
  8. openGauss=# SELECT * FROM mv;
  9. count
  10. -------
  11. 2
  12. (1 row)
  13. --向物化视图中基表插入数据。
  14. openGauss=# INSERT INTO t1 VALUES(3, 3);
  15. --对全量物化视图做全量刷新。
  16. openGauss=# REFRESH MATERIALIZED VIEW mv;
  17. --查询物化视图结果。
  18. openGauss=# SELECT * FROM mv;
  19. count
  20. -------
  21. 3
  22. (1 row)
  23. --删除物化视图。
  24. openGauss=# DROP MATERIALIZED VIEW mv;