この機能はセカンダリインデックス作成プロセスの消費時間を最適化するものです。この機能をオンにすると、マルチスレッド並列処理を使用して、セカンダリインデックスデータに対し外部ソーティングを行うと同時に、flush bulk loading段階のflush listに対するロック操作を最適化し、CREATE INDEXの消費時間とDMLの並列処理への影響を効果的に低下させます。
上記のようなよくあるご質問に対応するため、TXSQLカーネルチームは様々なケースを綿密に分析およびテストし、flush bulk loading段階のflush listに対するロック操作を最適化し、CREATE INDEXの消費時間とDMLの並列処理への影響を効果的に低下させることで、DDL操作による影響を低減させました。
sysbenchテストでは20億行のデータをインポートしました。データ量は約453GBで、FAST DDL機能をオンにしました。
mysql> set global innodb_fast_ddl=ON;
Query OK, 0 rows affected (0.00 sec)
オンにする前の消費時間は4395秒、オンにした後の消費時間は2455秒でした。
パラメータinnodb_fast_ddlによってこの機能をオンまたはオフにします。
パラメータinnodb_parallel_merge_threadsによって、並列外部ソーティングプロセスで使用する並列スレッド数を制御します。デフォルトは8、最大で32です。
パラメータ名 | 動的 | タイプ | デフォルト | パラメータ値範囲 | 説明 |
---|---|---|---|---|---|
innodb_fast_ddl | Yes | bool | OFF | {ON,OFF} | FAST DDLオンまたはオフ |
innodb_parallel_merge_threads | Yes | Integer | 8 | 1 - 32 | merge sort時に使用する並列スレッド数 |
説明:ユーザーは現在、上記のパラメータのパラメータ値を直接変更することはできません。変更が必要な場合は、ワークシートを提出して変更できます。
この記事はお役に立ちましたか?