Me kaikki tiedämme, että EF:llä on heikko tuki eräajoille, jos käytät EF:ää lisätäksesi useita datapaloja erissä tai päivittääksesi tai poistaaksesi useita lauseita eristä, se on ajan hukkaa, joten miten optimoida EF-operaatiot suurelle datamäärälle?
Ei mitään hölynpölyä, ota ensin kuvakaappaus, ei ole vertailutaulukkoa ennen ja jälkeen optimointi!
Tilastot, jos syötät saman 3814 tietokantaa ja tietokanta, on SQL Server
Ennen optimointia:Keskimääräinen aika oli 2479 sekuntia
Optimoinnin jälkeen:Keskimääräinen aika oli 149 sekuntia
Kutsun insert-koodi on seuraava:
Koodi ennen optimointia:
Optimoitu koodi:
Muu testikoodi:
Optimointimenetelmä:
Käytämme kolmannen osapuolen laajennusta "Z.EntityFramework.Extensions", virallinen kotisivu: http://entityframework-extensions.net/
Esitellä:
Entity Framework: Bulk Insert, BulkSaveChanges, Bulk Update, Bulk Delete, Bulk Merge ja Bulk Sync.
Tukee: SQL Server, SQL Azure, SQL Compact, Oracle, MySQL, SQLite ja PostgreSQL.
Tämä kirjasto ei ole ilmainen. Kokeiluaika päättyy aina kuun lopussa.
Nuget asennuskomento:
|