MySQL 行の同時更新: ベスト プラクティス
データベースのパフォーマンスの最適化には、多くの場合、複数の行を更新するための効率的な手法が必要になります。この記事では、MySQL で同時更新を実現するための戦略について概説します。
バッチ操作に INSERT ... ON DUPLICATE KEY UPDATE
を利用する
MySQL の INSERT ... ON DUPLICATE KEY UPDATE
ステートメントは、指定された値に基づいて新しい行を挿入したり、既存の行を更新したりするための強力な方法を提供します。これは、複数の更新を同時に実行する場合に特に有益です。
例:
次のテーブル構造を考えてみましょう:
Name | id | Col1 | Col2 |
---|---|---|---|
Row1 | 1 | 6 | 1 |
Row2 | 2 | 2 | 3 |
Row3 | 3 | 9 | 5 |
Row4 | 4 | 16 | 8 |
複数の更新を 1 つのクエリに統合するには、次のコマンドを使用します。
<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
を 10 に更新し、Col2
を 12 に更新します。ON DUPLICATE KEY UPDATE
句は重複エントリを防止し、更新が正しく適用されることを保証します。 このアプローチにより、個々の UPDATE
ステートメントと比較して効率が大幅に向上します。
以上が複数の MySQL 行を同時に効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。