TDSQL-C for MySQL(TXSQLカーネル)は並列DDL機能を提供します。この機能はInnoDB層のParallel Readerフレームワークに基づき、マルチコアCPUとストレージI/O帯域幅を十分に活用して、データコピーの時間を大幅に短縮します。これにより、DDL全体の実行時間を短縮し、後続の関連するDML操作をブロックすることを回避して、DDL操作の待機時間を短縮します。
サポートバージョン
TDSQL-C for MySQL 8.0 3.1.16.004以降のバージョン。
利用制限
現在、以下のシナリオでは並列DDLを使用できません:
innodb_txsql_parallel_ddlスイッチが有効になっていません。
テーブルサイズは比較的小さくなっています。
AUTO_INCREMENT列を使用してインデックスを作成します。
spatial indexを作成します。
fts indexを作成します。
インデックスはmulti-value列を含みます。
インデックスはvirtual列を含みます。
パラメータ説明
TDSQL-C for MySQLの並列DDL機能は、パラメータ設定によって実現されます:
カーネルバージョン要件を満たした後、innodb_txsql_parallel_ddl、innodb_txsql_ddl_threads、innodb_txsql_ddl_buffer_sizeパラメータによって制御します。
|
innodb_txsql_parallel_ddl | いいえ | いいえ | OFF | OFF | ON | 並列DDL機能のスイッチです。 OFF:並列DDL機能をオフにします。 ON:並列DDL機能を有効にします。 |
innodb_txsql_ddl_threads | いいえ | いいえ | 4 | [1 - 256] | 各DDL操作の並列スレッド数を制御します。 値が1の場合、シングルスレッドDDLを実行することを意味します。 |
innodb_txsql_ddl_buffer_size | いいえ | いいえ | 10485760 | [1048576 - 536870912] | 並列インデックス作成プロセスにおいて、サンプルデータを保存するためのメモリサイズを制御するために使用されます。 |
使用説明
SET innodb_txsql_parallel_ddl = ON;
SET innodb_txsql_ddl_threads = 4;