Rumah  >  Soal Jawab  >  teks badan

Percepatkan pertanyaan Mysql semasa kemas kini kelompok

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粉470645222P粉470645222206 hari yang lalu374

membalas semua(1)saya akan balas

  • P粉865900994

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

    balas
    0
  • Batalbalas