Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

tsql - Kinerja sisipan batch

Meskipun tampaknya lebih sedikit kode untuk diproses akan memberi Anda peningkatan kinerja, menggunakan opsi pertama (menyatukan semua) adalah ide yang buruk. Semua pernyataan pilih harus diuraikan dan dieksekusi sebelum data dimasukkan ke dalam tabel. Ini akan menghabiskan banyak memori dan mungkin butuh waktu lama untuk menyelesaikan bahkan untuk jumlah data yang cukup kecil. Di sisi lain, pernyataan penyisipan terpisah dieksekusi "on the fly".

Jalankan tes sederhana di SSMS yang akan membuktikan ini:buat tabel sederhana dengan 4 bidang dan coba masukkan 20k baris. Solusi kedua akan dieksekusi dalam hitungan detik, sementara yang pertama... Anda akan melihat :).

Masalah lain adalah ketika data tidak benar di beberapa baris (misalnya, ketik mismatch), Anda akan menerima kesalahan seperti Conversion failed when converting the varchar value 'x' to data type int. , tetapi Anda tidak akan memiliki indikasi baris mana yang gagal - Anda harus menemukannya sendiri. Namun dengan sisipan terpisah, Anda akan tahu persis sisipan mana yang gagal.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Meminta server sql tertaut

  2. cara menghubungkan sql server menggunakan driver JTDS di Android

  3. Tweet Lucu Tentang Kehidupan DBA

  4. SQL Server memotong nilai pengembalian XML

  5. Bagaimana saya bisa membuat kunci utama sebagai AUTOINCREMENT