Heim > Fragen und Antworten > Hauptteil
Ich muss einen Datensatz wie
aktualisierenupdate table abc set marks='15' where rollno='432423' and pcode='ABC234';
Fast 10.000 Anfragen.
Meine Tabelle enthält 1.00.000 Datensätze. Ich muss 10.000 Datensätze aktualisieren. Es dauert mehrere Stunden Wie kann ich es beschleunigen? Ich verwende INNODB
Irgendwelche Möglichkeiten, die Dinge zu beschleunigen.
P粉8659009942024-03-28 10:54:25
最有效的方法是将记录插入到另一个表中并使用它进行更新,例如:
create table def like abc; # optionally drop unneeded columns: alter table def drop foo, drop bar; insert into def (marks, rollno, pcode) values ('15','432423','ABC234'), ('16','432424','DEF567'), ... ; update def join abc using (rollno,pcode) set abc.marks=def.marks; drop table def;
如果更新本身仍然很慢,请确保 abc 在 (rollno, pcode) 上有复合索引。