Si aún no tiene un índice en number
deberías agregar uno -
CREATE INDEX table_number ON table (number);
ACTUALIZAR Prueba esto -
UPDATE inv t1
INNER JOIN inv t2
ON t1.name = t2.name
AND t1.id <> t2.id
SET t1.flag_qty = 1;
Puede crear su tabla solo con los duplicados seleccionando estos datos directamente en otra tabla en lugar de hacer esta actualización de marca primero.
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
Si puede explicar la lógica por la cual las filas se eliminan de inv
tabla puede ser que todo el proceso se pueda hacer en un solo paso.