「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > **インデックスを無効にせずに InnoDB での一括挿入を最適化する方法**

**インデックスを無効にせずに InnoDB での一括挿入を最適化する方法**

2024 年 11 月 15 日に公開
ブラウズ:796

**How to Optimize Bulk Inserts in InnoDB Without Disabling Indexes?**

InnoDB での最適化された一括挿入のインデックスを無効にする

一括挿入のパフォーマンスを向上させるために InnoDB テーブルのインデックスを無効にしようとすると、次のような問題が発生する可能性があります。 InnoDB のストレージ エンジンにはこの機能がないため、警告が表示されます。目的を達成するための代替戦略は次のとおりです:

MySQL リファレンスの推奨事項:

MySQL ドキュメントで推奨されているように、次のコマンドの使用を検討してください:

  • SET autocommit=0;
  • SET unique_checks=0;
  • SET external_key_checks=0;

これらのコマンドは、「一括データ読み込みのヒント」にあります。 MySQL リファレンス ガイド (8.0 バージョン) のセクション:

https://dev.mysql.com/doc/refman/8.0/en/optimizing-innodb-bulk-data-loading.html

一括挿入を高速化するための追加のヒント:

  • LOAD DATA INFILE を使用する: このメソッドは、データをテーブルに一括ロードするために特別に設計されており、プロセスが大幅に高速化されます。
  • 段階的にコミット: 数回の挿入ごとにコミットすると、大規模なトランザクションにかかる時間を短縮できます。
  • テーブル構造の最適化:インデックス検索を最小限に抑えるために、テーブルに適切なインデックス戦略とデータ型が選択されていることを確認してください。
  • パーティション テーブル: 大きなテーブルを小さなパーティションに分割して、データ アクセスと挿入のパフォーマンスを最適化します。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3