すべてのプロダクト
Search
ドキュメントセンター

PolarDB:DDL のための非同期 I/O

最終更新日:Oct 13, 2026

PolarDB は、DDL のための非同期 I/O 機能を提供します。大規模なデータベーステーブルにインデックスを作成するデータ定義言語 (DDL) 操作は、通常、時間がかかります。DDL のための非同期 I/O を使用すると、インデックスの作成に必要な時間を短縮できます。

前提条件

PolarDB クラスターは、次のいずれかのバージョン要件を満たす必要があります。

  • PolarDB for MySQL 8.0.2、リビジョンバージョン 8.0.2.2.6 以降。

  • PolarDB for MySQL 8.0.1、リビジョンバージョン 8.0.1.1.29 以降。

クラスターバージョンの確認方法の詳細については、「エンジンバージョンのクエリ」をご参照ください。

注意事項

DDL のための非同期 I/O は、全文索引または空間インデックスではサポートされていません。

使用方法

次の innodb_polar_ddl_async_io パラメーターを設定することで、DDL のための非同期 I/O を設定できます。手順については、「クラスターパラメーターとノードパラメーターの設定」をご参照ください。

パラメーター

レベル

説明

innodb_polar_ddl_async_io

グローバル

DDL のための非同期 I/O を有効にするかどうかを指定します。有効な値:

  • ON:DDL のための非同期 I/O を有効にします。

  • OFF:DDL のための非同期 I/O を無効にします。デフォルト値です。

パフォーマンス テスト

  • テスト環境

    • 8 コア、32 GB メモリの PolarDB for MySQL 8.0 クラスター。

    • クラスターには 50 TB のストレージ容量があります。

  • テストテーブルスキーマ

    次のステートメントを実行して、table_1 という名前のテーブルを作成します。

    CREATE TABLE `table_1` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `seller_id` bigint(20) DEFAULT NULL,
    `seller_name` varchar(100) CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL,
    `gmt_create` varchar(30) DEFAULT NULL,
    `update_time` varchar(30) DEFAULT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB;
  • テストテーブルデータ

    次のステートメントを実行して、テストデータを生成します。

    delimiter ||
    CREATE PROCEDURE populate_0(IN NUM INT)
    BEGIN
    DECLARE sid INT;
    DECLARE suffix_name INT;
    DECLARE i INT;
    SET sid=1000;
    SET suffix_name=10;
    SET i=1;
    START TRANSACTION;
    WHILE i <= NUM
    DO
    INSERT INTO table_1(seller_id,seller_name,gmt_create,update_time) VALUES(sid,CONCAT('sellername',suffix_name),NOW(),NOW());
    SET suffix_name=suffix_name+1;
    SET sid=sid+1;
    SET i=i+1;
    END WHILE;
    COMMIT;
    END ||
    delimiter ;
    CALL populate_0(100000000) ;
  • テスト方法と結果

    データが挿入された後、DDL のための非同期 I/O を有効または無効にして SQL ステートメント alter table table_1 add index name_index (seller_name); を実行し、DDL 実行効率の向上を測定します。

    DDL のための非同期 I/O のステータス

    時間 (秒)

    DDL のための非同期 I/O が有効

    368

    DDL のための非同期 I/O が無効

    485

お問い合わせ

DDL 操作についてご不明な点がある場合は、お問い合わせください。