Percepatkan pertanyaan Mysql semasa kemas kini kelompok
P粉470645222
P粉470645222 2024-03-27 11:41:12
0
1
452

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粉470645222
P粉470645222

membalas semua(1)
P粉865900994

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).

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan