この記事では、REFRESH MATERIALIZED VIEWの構文、パラメーター、および例を紹介します。
説明
REFRESH MATERIALIZED VIEWは、マテリアライズド・ビューの内容を完全に置き換えます。 このコマンドを実行するには、マテリアライズド・ビューの所有者である必要があります。 古い内容は破棄される。 WITH DATAが指定 (またはデフォルト) されている場合、新しいデータを提供するためにバッキングクエリが実行され、マテリアライズドビューはスキャン可能な状態のままになります。 WITH NO DATAが指定された場合、新しいデータは生成されず、具体化されたビューはスキャン不可能な状態のままになります。
CONCURRENTLYとWITH NO DATAは一緒に指定することはできない。
概要
REFRESH MATERIALIZED VIEW [ CONCURRENTLY] 名
[[いいえ] データ付き] パラメーター
CONCURRENTLY: マテリアライズドビューの同時選択をロックアウトせずに、マテリアライズドビューを更新します。 このオプションがないと、多くの行に影響を与えるリフレッシュは、使用するリソースが少なくなり、より迅速に完了する傾向がありますが、マテリアライズドビューから読み込もうとする他の接続をブロックする可能性があります。 このオプションは、少数の行が影響を受ける場合に高速になります。
このオプションは、列名のみを使用し、すべての行を含むUNIQUEインデックスがマテリアライズドビューに少なくとも1つある場合にのみ使用できます。つまり、式インデックスであったり、WHERE句を含んではいけません。
このオプションは、マテリアライズドビューがまだ設定されていない場合は使用できません。
このオプションを使用しても、1つのマテリアライズドビューに対して一度に1つのREFRESHしか実行できません。
name: 更新するマテリアライズドビューの名前 (スキーマ修飾) 。
注
マテリアライズドビューの定義クエリにORDER BY句がある場合、マテリアライズドビューの元の内容はそのように順序付けられますが、REFRESH materialized viewはその順序を保持することを保証しません。
例
このコマンドは、マテリアライズド・ビューの定義からのクエリを使用して、order_summaryと呼ばれるマテリアライズド・ビューの内容を置き換え、スキャン可能な状態のままにします。
REFRESH MATERIALIZED VIEW order_summary;このコマンドは、具体化されたビューannual_statistics_basisに関連付けられたストレージを解放し、スキャン不可能な状態のままにします。
REFRESH MATERIALIZED VIEW annualal_statistics_basis WITH NO DATA;