tencent cloud

フィードバック

FAST DDL

最終更新日:2022-03-02 21:53:32

    機能の説明

    この機能はセカンダリインデックス作成プロセスの消費時間を最適化するものです。この機能をオンにすると、マルチスレッド並列処理を使用して、セカンダリインデックスデータに対し外部ソーティングを行うと同時に、flush bulk loading段階のflush listに対するロック操作を最適化し、CREATE INDEXの消費時間とDMLの並列処理への影響を効果的に低下させます。

    サポートするバージョン

    • カーネルバージョン MySQL 8.0 20210330およびそれ以降
    • カーネルバージョン MySQL 5.7 20210331およびそれ以降

      ユースケース

      データベースは頻繁にDDL操作を行うため、DDLに関連するトラブルも頻繁に起こります。例えば次のようなものです。
    • インデックスを追加するとインスタンスにジッターが発生し、正常な業務の読み取り/書き込みに影響が出るのはなぜですか。
    • 1GBに満たないテーブルのDDL実行に10分以上かかることがあるのはなぜですか。
    • 一時テーブルを使用した接続の終了時に、インスタンスにジッターが発生するのはなぜですか。

    上記のようなよくあるご質問に対応するため、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時に使用する並列スレッド数
    説明:

    ユーザーは現在、上記のパラメータのパラメータ値を直接変更することはできません。変更が必要な場合は、ワークシートを提出して変更できます。

    お問い合わせ

    カスタマーサービスをご提供できるため、ぜひお気軽にお問い合わせくださいませ。

    テクニカルサポート

    さらにサポートが必要な場合は、サポートチケットを送信して弊社サポートチームにお問い合わせください。24時間365日のサポートをご提供します。

    電話サポート(24 時間365日対応)