タスクは、一致に基づいて元のテーブルのデータで更新されるテーブルを更新することですVARCHAR(32) フィールドに格納された値。現在のクエリは機能しますが、パフォーマンスの問題があります。
パフォーマンスを向上させるには、次の最適化されたクエリを検討してください。
UPDATE tobeupdated INNER JOIN original ON (tobeupdated.value = original.value) SET tobeupdated.id = original.id
このクエリは JOIN 構文を利用しています。複数の WHERE 条件の代わりに、読みやすくなります。さらに、結合操作中の検索を高速化するために、両方のテーブルの値フィールドにインデックスが作成されていることを確認してください。
さらに最適化するには、USING キーワードを使用したクエリの簡易バージョンを使用します。が推奨されます:
UPDATE tobeupdated INNER JOIN original USING (value) SET tobeupdated.id = original.id
結合内の両方のテーブルが同一の名前付きキー (たとえば、この場合)、等結合の最適化を示します。
以上がMySQL テーブルの値を別のテーブルから効率的に更新するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。