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

Karat:Bagaimana cara menjalankan DML di MySQL dengan banyak parameter?

Saya bukan programmer Rust, tetapi pertimbangan kinerja harus serupa terlepas dari bahasa aplikasi.

Untuk kasus ini, saya hanya akan menyiapkan kueri untuk INSERT satu baris, dengan parameter untuk kolom dari satu baris itu. Kemudian jalankan loop untuk mengeksekusi kueri yang disiapkan dengan nilai parameter yang berbeda. Faktor ini keluar dari loop overhead parsing SQL, karena itu dilakukan hanya sekali pada langkah persiapan. Mengeksekusi kueri yang disiapkan itu tidak mengurai ulang pernyataan.

Saya harap ini persis seperti yang exec_batch() sedang melakukan. Tapi mungkin menyiapkan kembali pernyataan INSERT setiap kali dalam loop. Itu akan menjadi pendekatan yang naif, tapi saya tidak tahu apakah paket Rust itu naif atau tidak.

Jika performa ini tidak cukup baik, Anda harus mempertimbangkan untuk memuat data dalam jumlah besar menggunakan MUAT DATA [LOKAL] INFILE . Itu biasanya beberapa kali lebih cepat daripada pernyataan INSERT mana pun bahkan dengan satu set 1000 tupel.

Anda mungkin menyukai presentasi saya Muat Data dengan Cepat! di mana saya membandingkan kinerja relatif dari berbagai solusi impor data.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Memilih dari bidang yang dipisahkan koma

  2. Konversi otomatis MySQL pada huruf kecil

  3. peringkat pengguna berdasarkan poin

  4. Bagaimana cara menulis Kriteria Hibernasi untuk Query sql ini?

  5. Pengganti fungsi UUID Versi 1 MySQL?