sql >> Database teknologi >  >> RDS >> Sqlserver

Anbefal brug af midlertidig tabel eller tabelvariabel i Entity Framework 4. Opdater Performance Entity framework

For datamængder som 300k rækker ville jeg glemme EF. Jeg ville gøre dette ved at have en tabel som:

BatchId  RowId

Hvor RowId er PK for den række, vi ønsker at opdatere, og BatchId refererer blot til denne "kørsel" af 300.000 rækker (for at tillade flere på én gang osv.).

Jeg ville generere et nyt BatchId (dette kunne være noget unikt - Guide springer til at tænke på) og bruge SqlBulkCopy til at indsætte posterne på denne tabel, dvs.

100034   17
100034   22
...
100034   134556

Jeg ville derefter bruge en simgle sproc til at oprette forbindelse og opdatering (og slette batchen fra tabellen).

SqlBulkCopy er den hurtigste måde at få denne mængde data til serveren på; du vil ikke drukne i rundrejser. EF er objektorienteret:god til mange scenarier - men ikke denne.



  1. Tæller antallet af forekomster af en understreng i en streng i PostgreSQL

  2. Hvordan bruger man Spring StandardPasswordEncode og får Salt Generate?

  3. Hvordan tilføjer jeg en reference til MySQL-stikket til .NET?

  4. FEJL:Yderligere oplysninger:Ekstern tabel er ikke i det forventede format