Știm cu toții că ef are un suport slab pentru operațiunile batch, dacă folosești ef pentru a insera mai multe date în loturi sau pentru a actualiza ori șterge mai multe instrucțiuni în batches, este o pierdere de timp, deci cum să optimizezi operațiunile ef pentru o cantitate mare de date?
Fără prostii, fă mai întâi o captură de ecran, nu există un tabel comparativ înainte și după optimizare!
Statistici în cazul inserării acelorași 3814 date și baza de date este SQL Server
Înainte de optimizare:Timpul mediu era de 2479 secunde
După optimizare:Timpul mediu era de 149 de secunde
Codul de inserare pentru apel este următorul:
Cod înainte de optimizare:
Cod optimizat:
Alte coduri de test:
Schema de optimizare:
Folosim o extensie terță parte "Z.EntityFramework.Extensions", pagina oficială: http://entityframework-extensions.net/
Prezenta:
Entity Framework: Bulk Insert, BulkSaveChanges, Bulk Update, Bulk Delete, Bulk Merge, și Bulk Sync.
Suportă: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite și PostgreSQL.
Această bibliotecă nu este gratuită. Perioada de probă se încheie întotdeauna la sfârșitul lunii.
Comanda de instalare Nuget:
|