OceanBaseデータベースは、DDL実行時のパフォーマンスを向上させるために、パラレルDDL操作をサポートしています。
パラレルDDLの設定
OceanBaseデータベースでは、パラメータを設定することで、パラレルDDL機能を柔軟に制御できます。
_enable_parallel_table_creation:パラレルCREATE TABLE操作を制御します。_parallel_ddl_control:以下のパラレル操作を制御します:TRUNCATE TABLEDROP TABLECREATE INDEXCREATE VIEWCOMMENT
_enable_parallel_table_creation
_enable_parallel_table_creationは、テナントレベルで並列テーブル作成(CREATE TABLE)機能を有効にするかどうかを制御します。
プロパティ |
説明 |
|---|---|
| パラメータタイプ | ブール型 |
| デフォルト値 | True、テーブルの並列作成機能を有効にすることを示します。 |
| 値の範囲 |
|
| 有効化モード | 即時に反映されます |
例
sysテナントで以下のステートメントを実行し、ユーザーテナントmysql001の並列テーブル作成機能を無効に設定します。ALTER SYSTEM SET _enable_parallel_table_creation = false tenant=mysql001;ユーザーテナントで以下のステートメントを実行し、並列テーブル作成機能を無効に設定します。
MySQLモード:
ALTER SYSTEM SET _enable_parallel_table_creation = false;Oracleモード:
説明
Oracleモードでは、構文上、パラメータの前後に二重引用符を付ける必要があります。
ALTER SYSTEM SET "_enable_parallel_table_creation" = false;
_parallel_ddl_control
_parallel_ddl_controlは、テナントレベルで各種並列DDL機能を有効にするかどうかを制御します。OceanBaseデータベースの現在のバージョンでは、_parallel_ddl_controlはTRUNCATE TABLE、CREATE INDEX、CREATE VIEW、DROP TABLE、およびCOMMENTの並列機能のスイッチを制御します。
プロパティ |
説明 |
|---|---|
| パラメータタイプ | STRING |
| デフォルト値 | 空文字列。意味は以下のとおりです。
説明個々の並列DDLに対して操作を行う場合、 |
| 値の範囲 | 空文字列、または DDL:{ON | OFF} [, DDL:{ON | OFF}] [, ...]。DDLタイプの詳細は下表を参照してください。 |
| 有効化モード | 即時に反映されます |
DDLタイプ情報:
DDLタイプ |
値 |
|---|---|
| TRUNCATE_TABLE | TRUNCATE_TABLE:{ON | OFF} |
| SET_COMMENT | SET_COMMENT:{ON | OFF} |
| CREATE_INDEX | CREATE_INDEX:{ON | OFF} |
| CREATE_VIEW | CREATE_VIEW:{ON | OFF} |
| DROP_TABLE | DROP_TABLE:{ON | OFF} |
注意
OceanBaseデータベースの現在のバージョンでは、全文インデックス、複数値インデックス、およびベクトルインデックスの同時実行はサポートされていません。
例
sysテナントで以下のステートメントを実行し、ユーザーテナントmysql001で並列TRUNCATE TABLEを無効にし、並列CREATE INDEXを有効に設定します。ALTER SYSTEM SET _parallel_ddl_control = 'CREATE_INDEX:ON, TRUNCATE_TABLE:OFF' tenant = 'mysql001';ユーザーテナントで以下のステートメントを実行し、並列
TRUNCATE TABLEを無効にし、並列CREATE INDEXを有効に設定します。MySQLモード:
ALTER SYSTEM SET _parallel_ddl_control = 'CREATE_INDEX:ON, TRUNCATE_TABLE:OFF';Oracleモード:
説明
Oracleモードでは、構文上、パラメータに二重引用符を付ける必要があります。
ALTER SYSTEM SET "_parallel_ddl_control" = 'CREATE_INDEX:ON, TRUNCATE_TABLE:OFF';
DDLのデフォルト並列度
OceanBaseデータベースでは、セッションレベルパラメータ _force_parallel_ddl_dop を使用して、DDL操作の並列実行におけるデフォルトの並列度を指定できます。
説明
PARALLEL ヒントで並列度を明示的に指定しない場合、DDLは _force_parallel_ddl_dop の設定値を並列度として使用します。
並列DDL機能を使用する際、_force_parallel_ddl_dop を使用して事前にDDLの並列実行の並列度を設定できます。
例
ユーザーテナントで以下のステートメントを実行し、セッションレベルのDDL操作の並列実行におけるデフォルトの並列度を16に設定します。
MySQLモード:
SET _FORCE_PARALLEL_DDL_DOP = 16;
Oracleモード:
SET "_FORCE_PARALLEL_DDL_DOP" = 16;