Ada beberapa cara untuk mengoptimalkan sisipan massal. Beberapa adalah:
-
LOAD DATA INFILE. Ada API pembungkus untuk . BERSIH . Ini adalah cara tercepat, tetapi memiliki beberapa keterbatasan dan perbedaan semantik dari sisipan sederhana. -
INSERTMultiple beberapa baris pernyataan:INSERT INTO temperature (temperature) VALUES (1.0), (2.0), (3.0), ...Anda tidak boleh memasukkan 20.000.000 baris sekaligus, tetapi mungkin ingin mencoba 1.000-10.000 untuk percepatan yang sangat besar. Ini adalah cara yang sederhana dan sangat tidak bermasalah untuk meningkatkan kecepatan. Faktor 10 dan terkadang lebih sering mungkin.
-
Mengunci tabel (
LOCK TABLES). -
Menonaktifkan indeks untuk sementara.
-
Penyetelan opsi MySQL.
-
INSERT DELAYED(kemungkinan besar tidak terlalu berguna di sini).
Dokumentasi ini memberi Anda detail yang lebih rumit pada opsi. Beberapa opsi bergantung pada jenis tabel (InnoDB vs. MyISAM ).
Saran umum:Selalu tentukan kolom yang Anda sisipkan di depan VALUES . Ini membuat kode lebih mudah dipelihara.