使用

语法格式

  • 创建全量物化视图

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

6. --创建全量物化视图。
7. openGauss=# CREATE MATERIALIZED VIEW mv AS select count(*) from t1;
8. CREATE MATERIALIZED VIEW

10. --查询物化视图结果。
11. openGauss=# SELECT * FROM mv;
12. count
13. -------
14. 2
15. (1 row)

17. --向物化视图中基表插入数据。
18. openGauss=# INSERT INTO t1 VALUES(3, 3);

20. --对全量物化视图做全量刷新。
21. openGauss=# REFRESH MATERIALIZED VIEW mv;
22. REFRESH MATERIALIZED VIEW

24. --查询物化视图结果。
25. openGauss=# SELECT * FROM mv;
26. count
27. -------
28. 3
29. (1 row)

31. --删除物化视图。
32. openGauss=# DROP MATERIALIZED VIEW mv;
33. DROP MATERIALIZED VIEW