Vi vet alle at ef har dårlig støtte for batch-operasjoner, hvis du bruker ef til å sette inn flere databiter i batcher eller oppdatere eller slette flere setninger i batcher, er det bortkastet tid, så hvordan optimalisere ef-operasjoner for store datamengder?
Ingen tull, ta et skjermbilde først, det finnes ingen sammenligningstabell før og etter optimalisering!
Statistikk i tilfellet med å sette inn de samme 3814 databitene og databasen er SQL Server
Før optimalisering:Gjennomsnittstiden var 2479 sekunder
Etter optimalisering:Gjennomsnittstiden var 149 sekunder
Innsettingskoden for samtalen er som følger:
Kode før optimalisering:
Optimalisert kode:
Annen testkode:
Optimaliseringsskjema:
Vi bruker en tredjepartsutvidelse "Z.EntityFramework.Extensions", offisiell hjemmeside: http://entityframework-extensions.net/
Innføre:
Entity Framework: Bulk Insert, BulkSaveChanges, Bulk Update, Bulk Delete, Bulk Merge og Bulk Sync.
Støtter: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite og PostgreSQL.
Dette biblioteket er ikke gratis. Prøveperioden avsluttes alltid ved slutten av måneden.
Nuget installasjonskommando:
|