2017-10-11 154 views
1

版本:9.4.10 請求刷新物化視圖堆棧嗎?PostgreSQL物化視圖刷新「堆棧」

例如: 我有一個物化視圖,它基於我的主表上的INSERT/UPDATE/DELETE同時刷新。如果這個觸發器被多個用戶頻繁調用,物化視圖會將這些刷新堆棧在隊列中,還是取消當前的刷新執行並運行最新的觸發器?

如果它堆疊,有沒有人有任何建議,我可以如何解決這個問題。我有一個非常大的數據集,我期待刷新視圖需要一段時間。

回答

1

我沒有看到任何理由,它會取消目前的刷新,以支持下一個。用你描述的模型,我想你會在等待會議中發生雪崩。我建議你放棄用數據變化觸發刷新大視圖的想法。如果你想以某種方式控制「多個真相源」的風險,因此不想將INSERT/UPDATE/DELETE複製到其他表中,因此它會保存原始表的邏輯副本 - 您可以從materialyzed視圖創建表並在其中填充recodrs用你的觸發器和小時左右的刷新mview來同步可能的欺騙或差距。它仍然會佔用刷新期間的一切,但至少它不會凍結每一次更改中的所有內容......