Mēs visi zinām, ka ef ir slikts atbalsts partijas operācijām, ja jūs izmantojat ef, lai ievietotu vairākus datus partijās vai atjauninātu vai izdzēstu vairākus paziņojumus partijās, tā ir laika izšķiešana, tāpēc kā optimizēt ef operācijas lielam datu apjomam?
Nav muļķības, vispirms uzņemiet ekrānuzņēmumu, pirms un pēc optimizācijas nav salīdzināšanas diagrammas!
Statistika, ja ievieto tos pašus 3814 datu gabalus, un datu bāze ir SQL Server
Pirms optimizācijas:Vidējais laiks bija 2479 sekundes
Pēc optimizācijas:Vidējais laiks bija 149 sekundes
Uzaicinājuma ievietošanas kods ir šāds:
Kods pirms optimizācijas:
Optimizēts kods:
Cits testa kods:
Optimizācijas shēma:
Mēs izmantojam trešās puses paplašinājumu "Z.EntityFramework.Extensions", oficiālā mājaslapa: http://entityframework-extensions.net/
Ieviest:
Entītiju struktūra: lielapjoma ievietošana, BulkSaveChanges, lielapjoma atjaunināšana, lielapjoma dzēšana, lielapjoma sapludināšana un lielapjoma sinhronizācija.
Atbalsta: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite un PostgreSQL.
Šī bibliotēka nav bezmaksas. Izmēģinājuma periods vienmēr beidzas mēneša beigās.
Nuget instalēšanas komanda:
|