ホームページ >データベース >mysql チュートリアル >**インデックスを無効にせずに InnoDB での一括挿入を最適化する方法**

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

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-25 14:47:02538ブラウズ

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

以上が**インデックスを無効にせずに InnoDB での一括挿入を最適化する方法**の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。