We weten allemaal dat ef weinig ondersteuning heeft voor batchoperaties; als je ef gebruikt om meerdere stukken data in batches in te voegen of meerdere statements in batches bij te werken of te verwijderen, is dat tijdverspilling, dus hoe optimaliseer je ef-operaties voor een grote hoeveelheid data?
Geen onzin, maak eerst een screenshot, er is geen vergelijkingsgrafiek voor en na optimalisatie!
Statistieken in het geval van het invoegen van dezelfde 3814 datastukken en de database is SQL Server
Voor optimalisatie:De gemiddelde tijd was 2479 seconden
Na optimalisatie:De gemiddelde tijd was 149 seconden
De invoegcode voor de oproep is als volgt:
Code vóór optimalisatie:
Geoptimaliseerde code:
Overige testcode:
Optimalisatieschema:
We gebruiken een extensie van derden "Z.EntityFramework.Extensions", officiële homepage: http://entityframework-extensions.net/
Voorstellen:
Entity Framework: Bulk Insert, BulkSaveChanges, bulk update, bulk delete, bulk merge en bulk sync.
Ondersteuningen: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite en PostgreSQL.
Deze bibliotheek is niet gratis. De proefperiode eindigt altijd aan het einde van de maand.
NuGet-installatiecommando:
|