単一行 INSERT と複数行 INSERT の速度比較
データベース挿入の最適化を目指す場合、次のような重要な疑問が生じます。複数の単一行 INSERT ステートメントを使用するか、単一の複数行 INSERT を選択するか。最適なアプローチを決定するために、パフォーマンス分析を詳しく調べ、関連する MySQL ドキュメントを検討してみましょう。
パフォーマンス分析
MySQL ドキュメント (https://dev. mysql.com/doc/refman/8.0/en/insert-optimization.html)、行の挿入に必要な時間は主に次の要因の影響を受けます。そのおおよその割合は括弧内に示されています:
複数行 INSERT と単一行INSERT
これらの要因を分析すると、単一の大きな複数行の INSERT ステートメントを使用すると、複数の単一行 INSERT を使用する場合に比べて、オーバーヘッドを大幅に削減できます。単一行の INSERT ごとに、7 (ステップ 1 ~ 3、6 の合計) のオーバーヘッドが発生します。
そのため、MySQL ドキュメントでは、複数の行を一度に挿入するために複数の VALUES リストを含む INSERT ステートメントを使用することを明示的に推奨しています。特に、同じクライアントから多数の行が同時に挿入される場合に顕著です。このアプローチは「かなり高速」であり、パフォーマンスに大きなメリットをもたらします。
以上がMySQL の単一行 INSERT と複数行 INSERT: どちらが速いですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。