Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 27|Svare: 0

[Tips] WITH (NOLOCK) optimalisering for høy-samtidige EF Core-spørringer

[Kopier lenke]
Publisert påI går klokken 20:48 | | |
Krav: Noen data tillater grov lesing, som artikkelinnhold, sidevisninger, kommentarer osv., som ikke er like grundig som finansielle data. For å forbedre spørringsytelsen kan ReadUncommitted-transaksjoner brukes, men SqlTransaction og TransactionScope har lekkasjeisolasjonsfeil som ennå ikke er fikset, så vurder å bruke WITH (NOLOCK)-løsningen.

Anmeldelse:
Entity Framework Spørringsoptimalisering WITH(NOLOCK)
https://www.itsvse.com/thread-9513-1-1.html

.NET/C# bruker SqlScriptDOM for å analysere og kjøre SQL-setninger
https://www.itsvse.com/thread-11222-1-1.html

SqlTransaction- og TransactionScope-lekkasjeisolasjonsnivåer (denne feilen har eksistert i 8 år og er fortsatt ikke fikset!) Jeg anslår at mange kan bli berørt, men kanskje ikke er klar over det):Innloggingen med hyperkoblingen er synlig.

Denne artikkelen må referere til SqlScriptDOM for å parse SQL-setninger og legge til WITH(NOLOCK). Se til det åpne kildekode-prosjektet:Innloggingen med hyperkoblingen er synlig.

Nuget-sitater som følger:
Lag en ny AllowDirtyReadAttribute.cs-funksjon, kode som følger:
Opprett en ny WithNoLockInterceptor for å overstyre visse metoder i DbCommandInterceptor. Koden er som følger:
Injiser i EF Core med følgende konfigurasjon:
Bruk det for å legge det til over kontroller-metoden[TillatDirtyRead]Boks.

Rå SQL-setning:
VELG [o]. [Id],
         [o]. [KundeNavn],
         [o0]. [Id],
         [o0]. [OrderId],
         [o0]. [Produkt]
FRA [Ordre] SOM [o]
             VENSTRE YTRE SAMLING
         [Ordrelinjer] AS [o0]
         PÅ [o]. [Id] = [o0]. [OrderId]
HVOR [o]. [ID] = 1
BESTILLING ETTER [o]. [Id];

Setning generert etter å ha lagt til NOLOCK:
VELG [o]. [Id],
         [o]. [KundeNavn],
         [o0]. [Id],
         [o0]. [OrderId],
         [o0]. [Produkt]
FRA [Ordre] SOM [o] MED (NOLOCK)
         VENSTRE YTRE SAMLING
         [Ordrelinjer] SOM [O0] MED (NOLOCK)
         PÅ [o]. [Id] = [o0]. [OrderId]
HVOR [o]. [ID] = 1
BESTILLING ETTER [o]. [Id];




Foregående:(MSSQL) SQL Server fulltekstsøk, fulltekstindeks
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com