本記事では、SQLステートメントを使用してマテリアライズドビューのプロパティを変更する方法について説明します。
権限要件
マテリアライズドビューを変更するには、現在のユーザーが対象オブジェクトに対する ALTER 権限を持っている必要があります。OceanBaseデータベースの権限の詳細については、MySQLモードの権限分類を参照してください。
構文
マテリアライズドビューを変更するSQLステートメントの形式は以下のとおりです:
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
nested_refresh_option:
INDIVIDUAL
| INCONSISTENT
| CONSISTENT
パラメータ説明
database.:オプションです。マテリアライズドビューが存在するデータベースを指定します。database.を省略した場合、デフォルトでマテリアライズドビューは現在のセッションが接続しているデータベースに存在します。view_name:変更対象のマテリアライズドビューの名前を指定します。説明
OceanBaseデータベースでは、
RENAME TABLEステートメントを使用してマテリアライズドビューの名前を変更できます。alter_mview_action_list:マテリアライズドビューに対して実行できる変更操作のリストを表します。複数の操作を同時に指定することができ、英字のカンマ(,)で区切ります。
マテリアライズドビューを変更する構文の詳細なパラメータ説明については、ALTER MATERIALIZED VIEWを参照してください。
例
テーブル
test_tbl1を作成します。CREATE TABLE test_tbl1 (col1 INT PRIMARY KEY, col2 VARCHAR(20), col3 INT, col4 TEXT);mv_test_tbl1という名前のマテリアライズドビューを作成します。CREATE MATERIALIZED VIEW mv_test_tbl1(c1, c2, c3, PRIMARY KEY(c1)) AS SELECT col1, col2, col3 FROM test_tbl1;マテリアライズドビュー
mv_test_tbl1の並列度を5に変更します。ALTER MATERIALIZED VIEW mv_test_tbl1 PARALLEL 5;マテリアライズドビュー
mv_test_tbl1の更新計画を変更し、初期更新日時を現在日付に設定し、その後1日ごとにマテリアライズドビューを更新します。ALTER MATERIALIZED VIEW mv_test_tbl1 REFRESH START WITH sysdate() NEXT sysdate() + interval 1 DAY;マテリアライズドビュー
mv_test_tbl1を基に、mv_mv_test_tbl1という名前のネストされたマテリアライズドビューを作成し、更新戦略をINDIVIDUALに設定します。CREATE MATERIALIZED VIEW mv_mv_test_tbl1 REFRESH COMPLETE INDIVIDUAL AS SELECT c1, c2 FROM mv_test_tbl1;ネストされたマテリアライズドビュー
mv_mv_test_tbl1の更新戦略をINCONSISTENTに変更します。ALTER MATERIALIZED VIEW mv_mv_test_tbl1 REFRESH INCONSISTENT;