本記事では、SQLステートメントを使用してマテリアライズドビューのプロパティを変更する方法について説明します。
説明
OceanBaseデータベースV4.3.5では、V4.3.5 BP1バージョンからマテリアライズドビューのプロパティを変更できるようになりました。
権限要件
マテリアライズドビューを変更するには、現在のユーザーが対象オブジェクトに対する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データベースV4.3.5では、
RENAME TABLEステートメントはV4.3.5 BP3バージョンからマテリアライズドビューの名前変更をサポートしています。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;