ALTER MATERIALIZED VIEW¶
現在の/指定されたスキーマのマテリアライズドビューを変更します。サポートされるアクションは次のとおりです。
マテリアライズドビューの名前変更。
マテリアライズドビューの使用とメンテナンスの中断と再開。
マテリアライズドビューのクラスタリング。
マテリアライズドビューの再クラスタリングの中断と再開。
マテリアライズドビューのクラスタリングのドロップ。
詳細については、 マテリアライズドビューの使用 をご参照ください。
- こちらもご参照ください。
CREATE MATERIALIZED VIEW、 DROP MATERIALIZED VIEW、 SHOW MATERIALIZED VIEWS、 DESCRIBE MATERIALIZED VIEW
構文¶
ALTER MATERIALIZED VIEW <name>
{
RENAME TO <new_name> |
CLUSTER BY ( <expr1> [, <expr2> ... ] ) |
DROP CLUSTERING KEY |
SUSPEND RECLUSTER |
RESUME RECLUSTER |
SUSPEND |
RESUME |
SET {
[ SECURE ]
[ COMMENT = '<comment>' ]
} |
UNSET {
SECURE |
COMMENT
}
}
ALTER MATERIALIZED VIEW
SET DATA_METRIC_SCHEDULE = {
'<num> MINUTE'
| 'USING CRON <expr> <time_zone>'
}
ALTER MATERIALIZED VIEW UNSET DATA_METRIC_SCHEDULE
パラメーター¶
name
変更するマテリアライズドビューの識別子を指定します。
RENAME TO new_name
このオプションを使用すると、マテリアライズドビューの名前を変更できます。
新しい識別子は、ビューが作成されるスキーマに対して一意である必要があります。新しい識別子はアルファベットで始める必要があり、識別子文字列全体が二重引用符で囲まれていない限り、スペースや特殊文字を含めることはできません(例:
"My object"
)。二重引用符で囲まれた識別子も大文字と小文字が区別されます。詳細については、 識別子の要件 をご参照ください。オプションでオブジェクトの名前を変更して、オブジェクトを別のデータベースやスキーマに移動できます。これを実行するには、新しいデータベース名やスキーマ名をそれぞれ
db_name.schema_name.object_name
またはschema_name.object_name
の形式で含む、修飾されたnew_name
値を指定します。注釈
宛先データベースやスキーマはすでに存在している必要があります。また、同じ名前のオブジェクトが宛先データベースにすでに存在することはできません。存在する場合、ステートメントはエラーを返します。
オブジェクトを管理アクセススキーマに移動することは、オブジェクトの所有者(つまり、オブジェクトに対して OWNERSHIP 権限を持つロール)がターゲットスキーマも所有している場合を 除き 禁止されています。
マテリアライズドビューの名前を変更しても、そのビューへの参照は更新されないことに注意してください。たとえば、マテリアライズドビューの上に
V1
という名前のビューを作成し、マテリアライズドビューの名前を変更すると、ビューV1
の定義は古くなります。CLUSTER BY expr#
このコマンドは、マテリアライズドビューをクラスター化します。クラスタリングは、マテリアライズドビューの行を並べ替えて、クラスタリングキー式に基づいてフィルター処理するクエリのパフォーマンスを向上させます。
expr#
は、マテリアライズドビューをクラスター化する式を指定します。通常、各式はマテリアライズドビューの列の名前です。マテリアライズドビューのクラスタリングの詳細については、 マテリアライズドビューとクラスタリング をご参照ください。一般的なクラスタリングの詳細については、 データクラスタリングとは をご参照ください。
DROP CLUSTERING KEY
このコマンドは、マテリアライズドビューのクラスタリングをドロップします。
SUSPEND RECLUSTER
SUSPEND RECLUSTER
オプションは、マテリアライズドビューの再クラスタリングを中断します。マテリアライズドビューのクラスタリングの詳細については、 マテリアライズドビューとクラスタリング をご参照ください。RESUME RECLUSTER
RESUME RECLUSTER
オプションは、マテリアライズドビューの再クラスタリングを再開します。SUSPEND
SUSPEND
オプションは、マテリアライズドビューのメンテナンス(更新)と使用を中断します。ビューが中断されている間、ベーステーブルへの更新はマテリアライズドビューに反映されません。マテリアライズドビュー自体にもアクセスできません。使用を試みると、次のようなエラーメッセージが表示されます。Failure during expansion of view 'MV1': SQL compilation error: Materialized View MV1 is invalid. Invalidation reason: Marked Materialized View as invalid manually.
クラスター化されたマテリアライズドビューを中断すると、そのビューの再クラスタリングが暗黙的に中断されます。
RESUME
RESUME
オプションを使用すると、マテリアライズドビューの使用を再開できます。また、マテリアライズドビューのメンテナンスも再開されます。ビューがクラスター化されている場合、そのビューの再クラスタリングも暗黙的に再開されます。SET ...
マテリアライズドビューに設定するプロパティを指定します。
SECURE
このオプションは、ビューをセキュアビューに変換します。セキュアビューの詳細については、 セキュアビューの使用 をご参照ください。
COMMENT = 'string_literal'
このオプションは、マテリアライズドビューのコメントを設定します。コメントは、ビューの動作には影響しませんが、ビューを使用または管理する人々に有用な情報を提供できます。
DATA_METRIC_SCHEDULE ...
データメトリック関数を定期的に実行するスケジュールを指定します。
'num MINUTE'
データメトリックの実行間に挿入される待機時間の間隔(分単位)を指定します。正の整数のみを受け入れます。
num M
構文もサポートしています。データメトリック関数には、以下の値のいずれかを使用します。
5
15
、30
、60
、720
、または1440
。'USING CRON expr time_zone'
データメトリック関数を定期的に実行するためのcron式とタイムゾーンを指定します。標準のcronユーティリティ構文のサブセットをサポートします。
タイムゾーンのリストについては、 tzデータベースタイムゾーンのリスト をご参照ください。
cron式は以下のフィールドで構成され、周期間隔は少なくとも5分にする必要があります。
# __________ minute (0-59) # | ________ hour (0-23) # | | ______ day of month (1-31, or L) # | | | ____ month (1-12, JAN-DEC) # | | | | _ day of week (0-6, SUN-SAT, or L) # | | | | | # | | | | | * * * * *
次の特殊文字がサポートされています。
*
ワイルドカード。フィールドのオカレンスを指定します。
L
「最後」の略。曜日フィールドで使用すると、特定の月の「最後の金曜日」(「5L」)などの構造を指定できます。月の日フィールドでは、月の最後の日を指定します。
/{n}
特定の時間単位の nth インスタンスを示します。時間の各クォンタムは独立して計算されます。たとえば、月フィールドに
4/3
が指定されている場合、データメトリック関数は4月、7月、および10月にスケジュールされます(つまり、年の4番目の月から始まる3か月ごと)。その後も同じスケジュールが維持されます。つまり、データメトリック関数は1月(10月の実行から3か月後)に実行されるようにスケジュールされては いません。
注釈
cron式は現在、指定されたタイムゾーンに対してのみ評価します。アカウントの TIMEZONE パラメーター値を変更(またはユーザーレベルまたはセッションレベルで値を設定)しても、データメトリック関数のタイムゾーンは変更 されません。
cron式は、データメトリック関数のすべての 有効な 実行時間を定義します。Snowflakeは、このスケジュールに基づいてデータメトリック関数を実行しようとします。ただし、次回の有効な実行時間が始まる前に以前の実行が完了していない場合、有効な実行時間はスキップされます。
cron式に特定の月の日と曜日の両方が含まれている場合、データメトリック関数は月の日または曜日の いずれか を満たす日にスケジュールされます。たとえば、
DATA_METRIC_SCHEDULE = 'USING CRON 0 0 10-20 * TUE,THU UTC'
は、月の10日から20日、およびそれらの日付以外の火曜日または木曜日の 0AM にデータメトリック関数をスケジュールします。cronでの時間の最小粒度は分です。
UNSET ...
マテリアライズドビューの設定を解除するプロパティを指定します。
SECURE
TAG tag_name [ , tag_name ... ]
COMMENT
DATA_METRIC_SCHEDULE
使用上の注意¶
ALTER VIEW コマンドを使用して、マスキングポリシー、行アクセスポリシーを設定/設定解除するか、マテリアライズドビューにタグを付けたり、マテリアライズドビューからタグを付けたりします。
データ測定関数 (DMFs) は、マテリアライズド・ビューで次のように使用できます。
マテリアライズドビューに DATA_METRIC_SCHEDULE パラメーターを設定するためには、 ALTER MATERIALIZED VIEW コマンドを使用します。詳細については、 実行するDMFsをスケジュールする をご参照ください。
マテリアライズド・ビューの列に DMF を追加したり、列から DMF を削除するには、 ALTER VIEW コマンドを使用します。
メタデータについて、
注意
Snowflakeサービスを使用する場合、お客様は、個人データ(ユーザーオブジェクト向け以外)、機密データ、輸出管理データ、またはその他の規制されたデータがメタデータとして入力されていないことを確認する必要があります。詳細については、 Snowflakeのメタデータフィールド をご参照ください。
例¶
マテリアライズドビューの名前を変更します。
ALTER MATERIALIZED VIEW table1_MV RENAME TO my_mv;
マテリアライズドビューをクラスター化します。
ALTER MATERIALIZED VIEW my_mv CLUSTER BY(i);
マテリアライズドビューのクラスタリングを中断しますが、ビューの使用は中断されません。
ALTER MATERIALIZED VIEW my_mv SUSPEND RECLUSTER;
マテリアライズドビューのクラスタリングを再開します。
ALTER MATERIALIZED VIEW my_mv RESUME RECLUSTER;
指定されたマテリアライズドビューのすべての使用と自動メンテナンスを中断します。
ALTER MATERIALIZED VIEW my_mv SUSPEND;
指定されたマテリアライズドビューのすべての使用と自動メンテナンスを再開します。
ALTER MATERIALIZED VIEW my_mv RESUME;
マテリアライズドビューのクラスタリングを停止します。
ALTER MATERIALIZED VIEW my_mv DROP CLUSTERING KEY;
ビューをセキュアビューに変更します。
ALTER MATERIALIZED VIEW mv1 SET SECURE;
マテリアライズドビューのコメントを追加または置換します。
ALTER MATERIALIZED VIEW mv1 SET COMMENT = 'Sample view';