使用

语法格式

  • 创建增量物化视图

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

1. REFRESH MATERIALIZED VIEW [ view_name ]; - 增量刷新物化视图

1. REFRESH INCREMENTAL 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);

6. --创建增量物化视图。
7. openGauss=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1;
8. CREATE MATERIALIZED VIEW

10. --插入数据。
11. openGauss=# INSERT INTO t1 VALUES(3, 3);
12. INSERT 0 1

14. --增量刷新物化视图。
15. openGauss=# REFRESH INCREMENTAL MATERIALIZED VIEW mv;
16. REFRESH MATERIALIZED VIEW

18. --查询物化视图结果。
19. openGauss=# SELECT * FROM mv;
20. c1 | c2
21. ----+----
22. 1 |  1
23. 2 |  2
24. 3 |  3
25. (3 rows)

27. --插入数据。
28. openGauss=# INSERT INTO t1 VALUES(4, 4);
29. INSERT 0 1

31. --全量刷新物化视图。
32. openGauss=# REFRESH MATERIALIZED VIEW mv;
33. REFRESH MATERIALIZED VIEW

35. --查询物化视图结果。
36. openGauss=# select * from mv;
37. c1 | c2
38. ----+----
39. 1 |  1
40. 2 |  2
41. 3 |  3
42. 4 |  4
43. (4 rows)

45. --删除物化视图。
46. openGauss=# DROP MATERIALIZED VIEW mv;
47. DROP MATERIALIZED VIEW