number
のインデックスをまだ持っていない場合 1つ追加する必要があります-
CREATE INDEX table_number ON table (number);
更新 これを試してください-
UPDATE inv t1
INNER JOIN inv t2
ON t1.name = t2.name
AND t1.id <> t2.id
SET t1.flag_qty = 1;
このフラグの更新を最初に行う代わりに、このデータを別のテーブルに直接選択することで、重複だけでテーブルを作成できます。
INSERT INTO duplicate_invs
SELECT DISTINCT inv1.*
FROM inv AS inv1
INNER JOIN inv AS inv2
ON inv1.name = inv2.name
AND inv1.id < inv2.id
inv
から行が削除されるロジックを説明できる場合 表では、プロセス全体を1つのステップで実行できる可能性があります。