3つの列が一致する限り、av.UnitTypeをut.unittypeの値に設定しようとしていますが、このステートメントのどの部分が不思議ですそれはそう長く取ることが原因とされていますこの更新クエリが遅い理由と改善方法
SET SQL_SAFE_UPDATES=0;
UPDATE `db`.`table_av` av, `db`.`table_ut` ut
SET av.UnitType = ut.unittype
WHERE TRIM(LEADING '0' FROM av.id) = ut.id
AND av.veh = ut.veh
AND av.date LIKE CONCAT('%', ut.Year);
クエリを遅くする可能性のあるリストでは、 "TRIM()"や "CONCAT()"のような関数で、 "ワイルドカードを指すLIKE条件"というように、 .... "とし、文法的には、"カンマ結合 "表記を使用することは時代遅れであり、文字通り何十年もの間好まれていませんでした。 – Uueerdo
関連する行を見つけ出す' SELECT'クエリに変更し、 'EXPLAIN'を – Barmar
2つのテーブルのスキーマとは何ですか?なぜ1つのIDに先行ゼロがあり、それに関連するものはゼロでないのですか? –