すべてのプロダクト
Search
ドキュメントセンター

PolarDB:素材化されたビューをリフレッシュ

最終更新日:May 31, 2024

この記事では、REFRESH MATERIALIZED VIEWの構文、パラメーター、および例を紹介します。

説明

REFRESH MATERIALIZED VIEWは、マテリアライズド・ビューの内容を完全に置き換えます。 このコマンドを実行するには、マテリアライズド・ビューの所有者である必要があります。 古い内容は破棄される。 WITH DATAが指定 (またはデフォルト) されている場合、新しいデータを提供するためにバッキングクエリが実行され、マテリアライズドビューはスキャン可能な状態のままになります。 WITH NO DATAが指定された場合、新しいデータは生成されず、具体化されたビューはスキャン不可能な状態のままになります。

CONCURRENTLYWITH 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;