Mindannyian tudjuk, hogy az EF gyenge támogatást nyújt a batch műveletekhez, ha az EF-et több adatdarab beillesztésére vagy több utasítás frissítésére vagy törlésére a batchesben, az időpocsékolás, szóval hogyan lehet optimalizálni az EF műveleteket nagy mennyiségű adatra?
Semmi hülyeség, először készíts képernyőképet, nincs összehasonlító táblázat optimalizálás előtt és után!
A statisztikák, ha ugyanazt a 3814-es adatdarabot illeszted be, és az adatbázis SQL Server
Optimalizálás előtt:Az átlagos idő 2479 másodperc volt
Optimalizálás után:Az átlagos idő 149 másodperc volt
A hívás beillesztési kódja a következő:
Kód optimalizálás előtt:
Optimalizált kód:
Egyéb tesztkód:
Optimalizálási séma:
Egy harmadik féltől származó "Z.EntityFramework.Extensions" kiterjesztést használunk, hivatalos honlap: http://entityframework-extensions.net/
Bevezet:
Entitás keretrendszer: tömeges beszúrás, bulkSaveChanges, tömeges frissítés, tömeges törlés, tömeges összevonás és tömeges szinkron.
Támogatja: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite és PostgreSQL.
Ez a könyvtár nem ingyenes. A próbaidőszak mindig a hónap végén ér véget.
Nuget telepítési parancs:
|