Ако все още нямате индекс на number
трябва да добавите един -
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
таблица може да се окаже, че целият процес може да се извърши в една стъпка.