使用

语法格式

  • 创建增量物化视图

    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. CREATE TABLE t1(c1 int, c2 int);
  3. INSERT INTO t1 VALUES(1, 1);
  4. INSERT INTO t1 VALUES(2, 2);
  5. --创建增量物化视图。
  6. postgres=# CREATE INCREMENTAL MATERIALIZED VIEW mv AS SELECT * FROM t1;
  7. CREATE MATERIALIZED VIEW
  8. --插入数据。
  9. postgres=# INSERT INTO t1 VALUES(3, 3);
  10. INSERT 0 1
  11. --增量刷新物化视图。
  12. postgres=# REFRESH INCREMENTAL MATERIALIZED VIEW mv;
  13. REFRESH MATERIALIZED VIEW
  14. --查询物化视图结果。
  15. postgres=# SELECT * FROM mv;
  16. c1 | c2
  17. ----+----
  18. 1 | 1
  19. 2 | 2
  20. 3 | 3
  21. (3 rows)
  22. --插入数据。
  23. postgres=# INSERT INTO t1 VALUES(4, 4);
  24. INSERT 0 1
  25. --全量刷新物化视图。
  26. postgres=# REFRESH MATERIALIZED VIEW mv;
  27. REFRESH MATERIALIZED VIEW
  28. --查询物化视图结果。
  29. postgres=# select * from mv;
  30. c1 | c2
  31. ----+----
  32. 1 | 1
  33. 2 | 2
  34. 3 | 3
  35. 4 | 4
  36. (4 rows)
  37. --删除物化视图。
  38. postgres=# DROP MATERIALIZED VIEW mv;
  39. DROP MATERIALIZED VIEW