説明
このステートメントは、マテリアライズドビューのプロパティを変更するために使用します。
権限要件
ALTER MATERIALIZED VIEW ステートメントを実行するには、現在のユーザーが操作対象に対する ALTER 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類を参照してください。
構文
ALTER MATERIALIZED VIEW [database.]view_name alter_mview_action_list;
alter_mview_action_list:
alter_mview_action [, alter_mview_action ...]
alter_mview_action:
parallel_clause
| REFRESH [nested_refresh_option] [[START WITH expr] [NEXT expr]]
parallel_clause:
NOPARALLEL
| PARALLEL integer
| REFRESH PARALLEL integer
nested_refresh_option:
INDIVIDUAL
| INCONSISTENT
| CONSISTENT
パラメータ説明
パラメータ |
説明 |
|---|---|
| database. | オプションです。マテリアライズドビューが存在するデータベースを指定します。database. を省略した場合、デフォルトでマテリアライズドビューは現在のセッションが接続しているデータベースに存在します。 |
| view_name | 変更対象のマテリアライズドビューの名前を指定します。
説明OceanBaseデータベースでは、 |
| alter_mview_action_list | マテリアライズドビューに対して実行できる変更操作のリストを表します。複数の操作を同時に指定することができ、英字のカンマ(,)で区切ります。詳細については、後述の alter_mview_action を参照してください。 |
alter_mview_action
parallel_clause:マテリアライズドビューの並列度を変更するために使用します。取り得る値は以下のとおりです:NOPARALLEL:デフォルト設定で、並列度は1です。PARALLEL integer:テーブルレベルの並列度、つまりマテリアライズドビューをクエリする際の並列度を指定します。integerの値は1以上の整数です。REFRESH PARALLEL integer:リフレッシュ並列度、つまりマテリアライズドビューをリフレッシュする際の並列度を指定します。integerの値は0以上の整数です。0の場合、リフレッシュ並列度はシステム変数mview_refresh_dopの値を使用します。説明
V4.4.2バージョンでは、
ALTER MATERIALIZED VIEWステートメントはV4.4.2 BP2バージョンからREFRESH PARALLEL integerを指定することでリフレッシュ並列度を変更できるようになりました。
例:
マテリアライズドビューをクエリする際の並列度を設定します。
ALTER MATERIALIZED VIEW mv1 PARALLEL 5;マテリアライズドビューの更新並列度を設定します。
ALTER MATERIALIZED VIEW mv1 REFRESH PARALLEL 3;
REFRESH [nested_refresh_option] [[START WITH expr] [NEXT expr]]:ネストされたマテリアライズドビューの更新ポリシー、またはマテリアライズドビューのバックグラウンド更新タスクの時間間隔を変更するために使用されます。nested_refresh_option:オプションです。ネストされたマテリアライズドビューの更新ポリシーを表します。INDIVIDUAL:デフォルト値です。個別更新を表します。INCONSISTENT:連鎖的な非一貫性更新を表します。CONSISTENT:連鎖的な一貫性更新を表します。
例:
obclient> ALTER MATERIALIZED VIEW mv1 REFRESH INDIVIDUAL;obclient> ALTER MATERIALIZED VIEW mv1 REFRESH INCONSISTENT;obclient> ALTER MATERIALIZED VIEW mv1 REFRESH CONSISTENT;[[START WITH expr] [NEXT expr]]:マテリアライズドビューのバックグラウンド更新タスクの時間間隔を変更します。[START WITH expr]:オプションです。更新計画の開始時刻を表す式です。[NEXT expr]:オプションです。次回の更新時刻を表す式です。注意
NEXT句を使用する場合、更新計画の時間式は将来の時刻に設定する必要があります。そうでない場合、エラーが発生します。- マテリアライズドビューの更新タスクを定期的に自動スケジュールする場合は、
NEXTを定義してスケジュール間隔を設定してください。
現在のタイムゾーン時刻を表すために
sysdate()の使用を推奨します。時間式の例:START WITH sysdate() NEXT sysdate() + INTERVAL 1 DAY上記の句は、現在時刻(
sysdate())から1日ごとにマテリアライズドビューを更新することを意味します。例:
obclient> ALTER MATERIALIZED VIEW mv1 REFRESH START WITH sysdate();更新間隔のみを設定する場合:
obclient> ALTER MATERIALIZED VIEW mv1 REFRESH NEXT sysdate() + INTERVAL 1 DAY;開始時刻と更新間隔を同時に設定する場合:
obclient> ALTER MATERIALIZED VIEW mv1 REFRESH START WITH sysdate() NEXT sysdate() + INTERVAL 1 DAY;