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

Merekomendasikan penggunaan tabel temp atau variabel tabel dalam Kerangka Entitas 4. Perbarui kerangka kerja Entitas Kinerja

Untuk volume data seperti 300 ribu baris, saya akan melupakan EF. Saya akan melakukan ini dengan memiliki tabel seperti:

BatchId  RowId

Di mana RowId adalah PK dari baris yang ingin kami perbarui, dan BatchId hanya mengacu pada "run" dari 300 ribu baris ini (untuk memungkinkan beberapa sekaligus, dll).

Saya akan menghasilkan BatchId baru (ini bisa berupa sesuatu yang unik -Guid melompat ke pikiran), dan menggunakan SqlBulkCopy untuk memasukkan catatan te ke tabel ini, yaitu

100034   17
100034   22
...
100034   134556

Saya kemudian akan menggunakan sproc simgle untuk melakukan join dan update (dan menghapus batch dari tabel).

SqlBulkCopy adalah cara tercepat untuk mendapatkan volume data ini ke server; Anda tidak akan tenggelam dalam perjalanan pulang pergi. EF berorientasi objek :bagus untuk banyak skenario - tapi tidak untuk skenario ini.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Bagaimana cara menambahkan Failover Partner ke string koneksi di VB.NET

  2. Perlu membuat daftar semua pemicu di database SQL Server dengan nama tabel dan skema tabel

  3. EAV melalui SQL Server

  4. Tidak dapat memuat DLL 'SqlServerSpatial.dll'

  5. Bagaimana cara membagi string menggunakan char pembatas menggunakan T-SQL?