2017-10-11 91 views
1

版本:9.4.10 请求刷新物化视图堆栈吗?PostgreSQL物化视图刷新“堆栈”

例如: 我有一个物化视图,它基于我的主表上的INSERT/UPDATE/DELETE同时刷新。如果这个触发器被多个用户频繁调用,物化视图会将这些刷新堆栈在队列中,还是取消当前的刷新执行并运行最新的触发器?

如果它堆叠,有没有人有任何建议,我可以如何解决这个问题。我有一个非常大的数据集,我期待刷新视图需要一段时间。

回答

1

我没有看到任何理由,它会取消目前的刷新,以支持下一个。用你描述的模型,我想你会在等待会议中发生雪崩。我建议你放弃用数据变化触发刷新大视图的想法。如果你想以某种方式控制“多个真相源”的风险,因此不想将INSERT/UPDATE/DELETE复制到其他表中,因此它会保存原始表的逻辑副本 - 您可以从materialyzed视图创建表并在其中填充recodrs用你的触发器和小时左右的刷新mview来同步可能的欺骗或差距。它仍然会占用刷新期间的一切,但至少它不会冻结每一次更改中的所有内容......