基于视图和表的物化视图 - 如何?

问题描述

我们有一个希望实现的缓慢视图。视图依赖于表和其他视图

示例结构:

CREATE TABLE table1(id SERIAL PRIMARY KEY);

CREATE TABLE table2(id2 SERIAL PRIMARY KEY);

CREATE VIEW view1 AS 
  SELECT id2 
  FROM table2;

CREATE VIEW view_to_materialize AS 
  SELECT id,id2 
  FROM table1 JOIN view1 (ON...);

我们需要一个触发器来在其组件的插入/更新/删除(让我们称 3 为“提交”)时刷新 MV。

问题是——在哪里刷新?我无法为视图设置提交时触发器,因此我必须在基表 - table2(以及 table1)上设置它。 但随后必须重新计算 view1,这样刷新就无济于事。

如果我也使 view1 物化 - 如何在完成后触发刷新物化视图?

您对这种情况有什么建议? (如果重要的话,PG 版本 11)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)