管理者による DDL ジョブの変更
注記:
現在、この機能はクラスターTiDB CloudスターターおよびTiDB Cloudエッセンシャルでは利用できません。
ADMIN ALTER DDL JOBS文を使用すると、実行中の単一のDDLジョブのパラメータを変更できます。例:
ADMIN ALTER DDL JOBS 101 THREAD = 8;
101: DDLジョブのIDを示します。IDはADMIN SHOW DDL JOBS実行することで取得できます。THREAD: DDLジョブの同時実行性を示します。初期値はシステム変数tidb_ddl_reorg_worker_cntを使用して設定できます。
ADMIN ALTER DDL JOBS文でサポートされているDDLジョブタイプには、 ADD INDEX 、 MODIFY COLUMN 、 REORGANIZE PARTITIONあります。その他のDDLジョブタイプの場合、 ADMIN ALTER DDL JOBS実行するとunsupported DDL operationエラーが返されます。
現在、 ADMIN ALTER DDL JOBS実行して変更できるのは単一の DDL ジョブのパラメータのみです。複数の DDL ジョブ ID のパラメータを同時に変更することはサポートされていません。
さまざまな DDL ジョブでサポートされているパラメータとそれに対応するシステム変数は次のとおりです。
ADD INDEX:THREAD: DDLジョブの同時実行数。初期値はtidb_ddl_reorg_worker_cntに設定されます。BATCH_SIZE: バッチサイズ。初期値はtidb_ddl_reorg_batch_sizeに設定されます。MAX_WRITE_SPEED: 各TiKVにインデックスレコードをインポートするための最大帯域幅制限。初期値はtidb_ddl_reorg_max_write_speedに設定されます。
現在、上記のパラメータは、送信されて
tidb_enable_dist_taskが無効になった後に実行されるADD INDEXジョブに対してのみ機能します。MODIFY COLUMN:THREAD: DDLジョブの同時実行数。初期値はtidb_ddl_reorg_worker_cntに設定されます。BATCH_SIZE: バッチサイズ。初期値はtidb_ddl_reorg_batch_sizeに設定されます。
REORGANIZE PARTITION:THREAD: DDLジョブの同時実行数。初期値はtidb_ddl_reorg_worker_cntに設定されます。BATCH_SIZE: バッチサイズ。初期値はtidb_ddl_reorg_batch_sizeに設定されます。
前述のパラメータの値の範囲は、対応するシステム変数の値の範囲と一致しています。
ADMIN ALTER DDL JOBS実行中の DDL ジョブにのみ有効です。DDL ジョブが存在しないか、すでに完了している場合、このステートメントを実行するとddl job is not runningエラーが返されます。
このステートメントの例を次に示します。
ADMIN ALTER DDL JOBS 101 THREAD = 8;
ADMIN ALTER DDL JOBS 101 BATCH_SIZE = 256;
ADMIN ALTER DDL JOBS 101 MAX_WRITE_SPEED = '200MiB';
ADMIN ALTER DDL JOBS 101 THREAD = 8, BATCH_SIZE = 256;
特定のDDLジョブの現在のパラメータ値を表示するには、 ADMIN SHOW DDL JOBS実行します。結果はCOMMENTS列目に表示されます。
ADMIN SHOW DDL JOBS 1;
+--------+---------+------------+-----------+--------------+-----------+----------+-----------+----------------------------+----------------------------+----------------------------+--------+-----------------------+
| JOB_ID | DB_NAME | TABLE_NAME | JOB_TYPE | SCHEMA_STATE | SCHEMA_ID | TABLE_ID | ROW_COUNT | CREATE_TIME | START_TIME | END_TIME | STATE | COMMENTS |
+--------+---------+------------+-----------+--------------+-----------+----------+-----------+----------------------------+----------------------------+----------------------------+--------+-----------------------+
| 124 | test | t | add index | public | 2 | 122 | 3 | 2024-11-15 11:17:06.213000 | 2024-11-15 11:17:06.213000 | 2024-11-15 11:17:08.363000 | synced | ingest, DXF, thread=8 |
+--------+---------+------------+-----------+--------------+-----------+----------+-----------+----------------------------+----------------------------+----------------------------+--------+-----------------------+
1 row in set (0.01 sec)
概要
- AdminAlterDDLStmt
- AlterJobOptionList
- AlterJobOption
AdminAlterDDLStmt ::=
'ADMIN' 'ALTER' 'DDL' 'JOBS' Int64Num AlterJobOptionList
AlterJobOptionList ::=
AlterJobOption ( ',' AlterJobOption )*
AlterJobOption ::=
identifier "=" SignedLiteral
MySQLの互換性
このステートメントは、MySQL 構文に対する TiDB 拡張です。