Hvis du ikke allerede har et indeks på number
du skal tilføje en -
CREATE INDEX table_number ON table (number);
OPDATERING Prøv dette -
UPDATE inv t1
INNER JOIN inv t2
ON t1.name = t2.name
AND t1.id <> t2.id
SET t1.flag_qty = 1;
Du kan oprette din tabel med kun dubletterne ved at vælge disse data direkte i en anden tabel i stedet for at foretage denne flagopdatering først.
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
Hvis du kan forklare logikken for hvilke rækker der slettes fra inv
tabel kan det være, at hele processen kan udføres i ét trin.