使用

语法格式

  • 创建全量物化视图

    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. 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. INSERT 0 1
  17. --对全量物化视图做全量刷新。
  18. openGauss=# REFRESH MATERIALIZED VIEW mv;
  19. REFRESH MATERIALIZED VIEW
  20. --查询物化视图结果。
  21. openGauss=# SELECT * FROM mv;
  22. count
  23. -------
  24. 3
  25. (1 row)
  26. --删除物化视图。
  27. openGauss=# DROP MATERIALIZED VIEW mv;
  28. DROP MATERIALIZED VIEW