TiDB 高速テーブル作成

TiDB v7.6.0 では、テーブル作成の高速化をサポートするシステム変数tidb_ddl_versionが導入され、バルク テーブル作成の効率が向上しました。v8.0.0 以降では、このシステム変数の名前がtidb_enable_fast_create_tableに変更されています。

tidb_enable_fast_create_tableで高速テーブル作成を有効にすると、同じ TiDB ノードに同時にコミットされた同じスキーマのテーブル作成ステートメントがバッチ テーブル作成ステートメントにマージされ、テーブル作成のパフォーマンスが向上します。したがって、テーブル作成のパフォーマンスを向上させるには、同じ TiDB ノードに接続し、同じスキーマのテーブルを同時に作成し、同時実行性を適切に高めるようにしてください。

マージされたバッチ テーブル作成ステートメントは同じトランザクション内で実行されるため、そのうちの 1 つのステートメントが失敗すると、すべてが失敗します。

TiDBツールとの互換性

  • TiDB v8.3.0 より前では、 ティCDC tidb_enable_fast_create_tableによって作成されたテーブルの複製をサポートしていません。v8.3.0 以降では、 TiCDC はこれらのテーブルを適切に複製できます。

制限

パフォーマンス最適化は、 CREATE TABLEステートメントでのみテーブル作成に使用できるようになり、このステートメントには外部キー制約を含めることはできません。

テーブル作成を高速化するには、 tidb_enable_fast_create_tableを使用します。

システム変数tidb_enable_fast_create_tableの値を指定することにより、テーブル作成のパフォーマンス最適化を有効または無効にすることができます。

TiDB v8.5.0 以降では、新しく作成されたクラスターに対して高速テーブル作成機能がデフォルトで有効になっており、 tidb_enable_fast_create_tableONに設定されています。v8.4.0 以前のバージョンからアップグレードされたクラスターの場合、デフォルト値のtidb_enable_fast_create_tableは変更されません。

テーブル作成のパフォーマンス最適化を有効にするには、この変数の値をONに設定します。

SET GLOBAL tidb_enable_fast_create_table = ON;

テーブル作成のパフォーマンス最適化を無効にするには、この変数の値をOFFに設定します。

SET GLOBAL tidb_enable_fast_create_table = OFF;

このページは役に立ちましたか?