ホームページ >データベース >mysql チュートリアル >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>
このクエリの機能:
Col1
および Col2
の値が、VALUES
句で指定された対応する値に更新されます。この統合されたアプローチにより、データベース サーバーの往復回数が減り、更新操作が高速化されるため、パフォーマンスが大幅に向上します。
以上がMySQL で複数の行を効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。