Rumah > Soal Jawab > teks badan
Saya perlu mengemas kini rekod seperti
update table abc set marks='15' where rollno='432423' and pcode='ABC234';
Hampir 10,000 pertanyaan.
Meja saya mempunyai 1,00,000 rekod. Saya perlu mengemas kini 10,000 rekod. Ia mengambil masa beberapa jam Bagaimana saya boleh mempercepatkannya. Saya menggunakan INNODB
Sebarang cara untuk mempercepatkan perkara.
P粉8659009942024-03-28 10:54:25
Cara paling berkesan adalah dengan memasukkan rekod ke dalam jadual lain dan mengemas kininya menggunakannya, sebagai contoh:
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;
Jika kemas kini itu sendiri masih perlahan, pastikan abc mempunyai indeks komposit dihidupkan (rollno, pcode).