管理者による DDL ジョブの変更
ADMIN ALTER DDL JOBS
ステートメントを使用すると、実行中の単一の DDL ジョブのパラメータを変更できます。例:
ADMIN ALTER DDL JOBS 101 THREAD = 8;
101
: DDLジョブのIDを示します。ADMIN SHOW DDL JOBS
実行するとIDを取得できます。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
実行して 1 つの 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 拡張です。