Maison > Questions et réponses > le corps du texte
Je dois mettre à jour un enregistrement comme
update table abc set marks='15' where rollno='432423' and pcode='ABC234';
Près de 10 000 requêtes.
Ma table contient 1 00 000 enregistrements. Je dois mettre à jour 10 000 enregistrements. Cela prend plusieurs heures Comment puis-je l'accélérer. J'utilise INNODB
Tout moyen d’accélérer les choses.
P粉8659009942024-03-28 10:54:25
Le moyen le plus efficace est d'insérer l'enregistrement dans une autre table et de le mettre à jour en l'utilisant, par exemple :
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;
Si la mise à jour elle-même est toujours lente, assurez-vous qu'abc dispose d'un index composite (rollno, pcode).