Pokud ještě nemáte index na number
měli byste přidat jeden -
CREATE INDEX table_number ON table (number);
AKTUALIZACE Zkuste toto -
UPDATE inv t1
INNER JOIN inv t2
ON t1.name = t2.name
AND t1.id <> t2.id
SET t1.flag_qty = 1;
Svou tabulku můžete vytvořit pouze s duplikáty tak, že tato data vyberete přímo do jiné tabulky, místo abyste nejprve provedli tuto aktualizaci příznaku.
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
Pokud můžete vysvětlit logiku, kvůli které jsou řádky odstraněny z inv
je možné, že celý proces lze provést v jednom kroku.