ホームページ >データベース >mysql チュートリアル >MySQL に複数の行を効率的に挿入するにはどうすればよいですか?

MySQL に複数の行を効率的に挿入するにはどうすればよいですか?

Barbara Streisand
Barbara Streisandオリジナル
2024-12-31 14:30:12256ブラウズ

How Can I Efficiently Insert Multiple Rows into MySQL?

MySQL での複数行の効率的な挿入

大量のデータをデータベースに挿入する場合、時間効率が非常に重要になります。行ごとに個別のクエリを実行するよりも、複数の行を同時に挿入することが望ましい場合がよくあります。このアプローチにより、パフォーマンスが大幅に向上します。

VALUES 構文の使用

MySQL では、INSERT ステートメントは、一度に複数の行を挿入する VALUES 構文の使用をサポートしています。これは、カンマで区切って括弧内に複数の値のセットを指定することによって実現されます。

構文:

INSERT INTO table_name (column1, column2, ..., columnN)
VALUES (value1_1, value1_2, ..., value1_N),
       (value2_1, value2_2, ..., value2_N),
       ...
       (valueM_1, valueM_2, ..., valueM_N);

例:

INSERT INTO users (name, email, age)
VALUES
    ('John Doe', 'johndoe@example.com', 30),
    ('Jane Smith', 'janesmith@example.com', 25),
    ('Mark Johnson', 'markjohnson@example.com', 40);

パフォーマンス考慮事項

VALUES 構文を使用して複数の行を挿入する方が、通常、行ごとに個別の INSERT ステートメントを実行するよりも高速です。これは、各クエリに含まれるサーバー側のラウンド トリップが少なくなるためです。

制限

ただし、VALUES 構文の使用には制限があります。

  • 1 つのクエリに挿入できる行数は、システムの最大パケットによって決まりますsize.
  • 行内の値に特殊文字が含まれているか、エスケープされている場合は、対応する列を一重引用符または二重引用符で囲む必要があります。

代替方法

VALUES 構文が適切でない場合、複数の行を挿入するための代替方法include:

  • INSERT ... SELECT の使用
  • LOAD DATA INFILE ステートメントの使用
  • ORM フレームワークの使用

以上がMySQL に複数の行を効率的に挿入するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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