ホームページ >データベース >mysql チュートリアル >MySQL での複数の単一 INSERT と単一の複数行 INSERT: 一括データ挿入ではどちらが速いですか?
複数の単一 INSERT と単一の複数行 INSERT: どちらが速いですか?
へのデータ挿入のパフォーマンスを向上させるための取り組みMySQL では、一般的なジレンマが発生します。開発者は、複数の個別の INSERT を 1 つの大きな複数行 INSERT にチェーンするか、別々に実行する必要があります。各行に INSERT を実行しますか?この疑問を明らかにするために、この記事ではこれらのアプローチの効率の比較を検討します。
MySQL のドキュメントによると、行の挿入速度は次のようなさまざまな要因に大きく影響されます。
この内訳から、単一の大きな INSERT ステートメントを使用すると、個々の挿入ごとに 7/10 の大幅なオーバーヘッドを節約できることがわかります。
したがって、 MySQL のドキュメントでは、「同じクライアントから同時に多くの行を挿入する場合は、複数の VALUES リストを指定した INSERT ステートメントを使用して、複数の行を挿入します」とアドバイスしています。これは、個別の単一行 INSERT ステートメントを使用するよりもかなり高速です (場合によっては何倍も高速です)。
したがって、MySQL への一括データ挿入の場合、単一の複数行 INSERT は非常に高速です。接続の確立、クエリの解析、終了アクションに関連するオーバーヘッドが削減されるため、複数の個別の INSERT よりも高速になります。
以上がMySQL での複数の単一 INSERT と単一の複数行 INSERT: 一括データ挿入ではどちらが速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。