Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara memasukkan sejumlah besar catatan ke dalam database MySql secepat mungkin

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.

  • INSERT Multiple 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.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL:mengapa varchar(254) dan bukan varchar(255)?

  2. Sailsjs Mysql ORM beberapa kueri pada bidang tabel yang sama

  3. java.net.SocketException:Pipa rusak

  4. Lewati parameter ke skrip MySQL

  5. Masalah dengan instalasi Ruby on Rails - Bagaimana cara menggunakan instalasi WAMP MySQL?