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

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

DDD
リリース: 2025-01-21 20:16:14
オリジナル
308 人が閲覧しました

How Can I Efficiently Update Multiple Rows in MySQL?

MySQL の複数行更新の最適化

単一行の MySQL 更新は簡単ですが、多数の行を効率的に更新するには別のアプローチが必要です。 バッチ更新により、個々の UPDATE ステートメントに比べてパフォーマンスが大幅に向上し、データベースの対話が最小限に抑えられます。

INSERT ... ON DUPLICATE KEY UPDATE

の活用

MySQL の INSERT ... ON DUPLICATE KEY UPDATE 構造は、このタスクに最適です。 この 1 つのステートメントは、一致するキーが既に存在するかどうかに基づいて、挿入と更新の両方を処理します。

実用的な複数行更新の例

サンプルテーブルで説明してみましょう:

<code>Name   id  Col1  Col2
Row1   1    6     1
Row2   2    2     3
Row3   3    9     5
Row4   4    16    8</code>
ログイン後にコピー

次のクエリは複数の行を効率的に更新します:

<code class="language-sql">INSERT INTO table (id, Col1, Col2) VALUES (1, 1, 1), (2, 2, 3), (3, 9, 3), (4, 10, 12)
ON DUPLICATE KEY UPDATE Col1 = VALUES(Col1), Col2 = VALUES(Col2);</code>
ログイン後にコピー

このクエリの機能:

  • ID 1、2、3、および 4 の行を挿入しようとします。
  • 指定された ID を持つ行がすでに存在する場合、その行の Col1 および Col2 の値が、VALUES 句で指定された対応する値に更新されます。
  • 指定された ID を持つ行が存在しない場合、指定されたデータを含む新しい行が挿入されます。

この統合されたアプローチにより、データベース サーバーの往復回数が減り、更新操作が高速化されるため、パフォーマンスが大幅に向上します。

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート