2017-10-11 4 views
1

バージョン:9.4.10 マテリアライズドビュースタックを更新する要求を行いますか?PostgreSQLマテリアライズドビューリフレッシュ "スタッキング"

例: メインテーブルのINSERT/UPDATE/DELETEに基づいて同時にリフレッシュするマテリアライズドビューがあります。このトリガーが複数のユーザーから頻繁に呼び出される場合、マテリアライズド・ビューはこれらのリフレッシュをキューに積み重ねるか、最新のリフレッシュ実行を取り消して最新のトリガーを実行しますか?

スタックされている場合は、どのように私はこの問題を解決できるかについての提案を誰も持っていますか。私は非常に大きなデータセットを持っており、私はしばらく時間がかかるビューのリフレッシュを期待しています。

答えて

1

私はそれが次のもののために現在のリフレッシュを取り消すどんな理由も見ません。あなたの記述されたモデルで私はあなたが待っているセッションで雪崩を持つと思います。私はデータ変更のトリガーで大きなmviewをリフレッシュするアイデアを放棄することをお勧めします。 "いくつかの真実のソース"のリスクを何らかの方法でコントロールしたいので、INSERT/UPDATE/DELETEを他のテーブルに複製したくないので、元のテーブルの論理的なコピーを保持するようにしてください。 - 素材ビューからテーブルを作成し、あなたのトリガーや時間ごとにmviewをリフレッシュして、可能な虫や隙間を同期させてください。それはまだリフレッシュの期間はすべてのステークが、少なくともそれはすべての変更ですべてを凍結されません...

関連する問題