管理者によるDDLジョブの変更
注記:
現在、この機能はTiDB Cloud StarterおよびTiDB Cloud Essentialインスタンスではご利用いただけません。
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 バージョン v8.5.5 より前のバージョンでは、上記のパラメータは
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の拡張機能です。