次の方法で共有


.disable | .enable materialized-view

具体化されたビューの具体化プロセスを無効または有効にします。

Note

具体化されたビューの無効化/有効化に関連する重要なパフォーマンス上の影響があるため、このコマンドの使用を続行する前に、それらを理解していることを確認してください。 詳細については、「 マテリアライズド ビューの有効化/無効化のパフォーマンスへの影響 」セクションを参照してください。

アクセス許可

これらのコマンドを実行するには、少なくとも Materialized View Admin が必要です。

構文

.enable | disablematerialized-view MaterializedViewName

構文規則について詳しく知る。

パラメーター

件名 タイプ Required 説明
MaterializedViewName string ✔️ マテリアライズドビューの名。

返品

具体化されたビューが既にコマンドを設定しようとしている状態の場合、コマンドは失敗し、その場合を示すエラーが表示されます。

それ以外の場合は、IsEnabled プロパティが変更された具体化されたビューに関する詳細を返します。

[Output Schema]\(出力スキーマ\):

名前 種類 説明
Name string マテリアライズドビューの名。
SourceTable string ビューが定義されているソース テーブルの名前。
クエリ string 具体化されたビューのクエリ定義。
MaterializedTo datetime ソース テーブルのマテリアライズド ingestion_time() タイムスタンプの最大値。 詳細については、マテリアライズドビューのしくみ を参照してください。
LastRun datetime 前回具体化が実行された時刻。
LastRunResult string 最後の実行の結果。 正常に実行された場合は Completed を返します。それ以外の場合は Failed を返します。
IsHealthy bool true ビューが正常と見なされる場合、false それ以外の場合。 ビューは、直近の 1 時間まで正常にマテリアライズされた場合に正常と見なされます (MaterializedToago(1h) より大きい)。
IsEnabled bool true ビューが有効になっている場合 (「具体化されたビューを無効化または有効化」を参照)。
フォルダー string 具体化されたビューが作成されるフォルダー。
DocString string 具体化されたビューに割り当てられた説明。
AutoUpdateSchema bool ビューの自動更新が有効になっているかどうか。
EffectiveDateTime datetime ビューの有効な日時。作成時に決定されます ( .create materialized-view参照)。
ルックバック timespan 重複が予想される期間を制限する期間。

具体化されたビューを有効にする

次のコマンドは、具体化されたビュー ViewName を有効にします。

.enable materialized-view ViewName

出力

名前 SourceTable クエリ MaterializedTo LastRun LastRunResult IsHealthy IsEnabled フォルダー DocString AutoUpdateSchema EffectiveDateTime ルックバック
ViewName TableName TableName |summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z 完了済み true true false 2023-02-23T14:01:42.5172342Z

具体化されたビューを無効にする

次のコマンドは、具体化されたビュー ViewName を無効にします。

.disable materialized-view ViewName

出力

名前 SourceTable クエリ MaterializedTo LastRun LastRunResult IsHealthy IsEnabled フォルダー DocString AutoUpdateSchema EffectiveDateTime ルックバック
ViewName TableName TableName |summarize arg_max(Column3, *) by Column1 2023-02-26T16:40:03.3345704Z 2023-02-26T16:44:15.9033667Z 完了済み true false false 2023-02-23T14:01:42.5172342Z

解説

具体化されたビューの無効化

具体化されたビューは、次のいずれかの方法で無効にできます。

  • システムによる自動無効化: 具体化が永続的なエラーで失敗した場合、具体化されたビューは自動的に無効になります。 このプロセスは、次のインスタンスで発生する可能性があります。
    • スキーマの変更がビュー定義と矛盾する。
    • ソース テーブルに対する変更で、具体化されたビュー クエリが意味的に無効になる。
  • 具体化されたビューを明示的に無効にする: 具体化されたビューがクラスターの正常性に悪影響を与える場合 (CPU の消費量が多すぎるなど)、 .disable materialized-view コマンドを使用してビューを無効にします

具体化されたビューと行レベルのセキュリティ

具体化されたビューが無効で、ビューが無効になっている間に、ビューのソース テーブルで行レベルのセキュリティ ポリシーが定義されているが、具体化されたビューに行レベルのセキュリティ ポリシーが定義されていない場合、セキュリティ上の理由でビューを有効にすると失敗します。 このエラーを軽減するには、次の方法があります。

  • 具体化されたビューに対して行レベル セキュリティ ポリシーを定義する。
  • ポリシーの有効化コマンドに allowMaterializedViewsWithoutRowLevelSecurity プロパティを追加して、エラーを無視する選択をする。 次に例を示します。
    .enable materialized-view MV with (allowMaterializedViewsWithoutRowLevelSecurity=true)

具体化されたビューの有効化/無効化によるパフォーマンスへの影響

  • 具体化されたビューが無効になると、具体化は一時停止され、クラスターのリソースは消費されなくなります。 無効にした場合でも、具体化されたビューにクエリすることは可能ですが、パフォーマンスが低下する可能性があります。 無効になっている具体化されたビューのパフォーマンスは、無効にされた後にソース テーブルに取り込まれたレコードの数によって異なります。
  • 以前に無効にされた具体化されたビューを有効にすることができます。 再有効化すると、具体化されたビューでは一時停止された時点からの具体化が続行されます。スキップされるレコードはありません。 ビューが長時間無効になっていた場合は、追いつくのに時間がかかる場合があります。
  • ビューの無効化は、ビューがクラスターの正常性に影響を与えている疑いがある場合にのみ推奨されます。