Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 27|Svar: 0

[Tips] WITH (NOLOCK) optimering til høj-samtidighed EF Core-forespørgsler

[Kopier link]
Opslået påI går kl. 20:48 | | |
Krav: Nogle data tillader beskidt læsning, såsom artikelindhold, sidevisninger, kommentarer osv., hvilket ikke er lige så grundigt som finansielle data. For at forbedre forespørgselsydelsen kan ReadUncommitted-transaktioner bruges, men SqlTransaction og TransactionScope har lækage-isolations-fejl, som endnu ikke er blevet rettet, så overvej at bruge WITH (NOLOCK)-løsningen.

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

.NET/C# bruger SqlScriptDOM til at parse og udføre SQL-udsagn
https://www.itsvse.com/thread-11222-1-1.html

SqlTransaction- og TransactionScope-lækisoleringsniveauer (denne fejl har eksisteret i 8 år og er stadig ikke blevet rettet!) Jeg vurderer, at mange måske bliver påvirket, men måske ikke er klar over det):Hyperlink-login er synlig.

Denne artikel skal referere til SqlScriptDOM til at parse SQL-sætninger og tilføje WITH(NOLOCK). Se open source-projektet:Hyperlink-login er synlig.

Nuget-citater som følger:
Opret en ny AllowDirtyReadAttribute.cs funktion, kode som følger:
Opret en ny WithNoLockInterceptor for at tilsidesætte visse metoder i DbCommandInterceptor. Koden er som følger:
Indsprøjt i EF Core med følgende konfiguration:
Brug den til at tilføje det over controller-metoden[TilladtDirtyRead]Dåse.

Rå SQL-sætning:
VÆLG [o]. [ID],
         [o]. [KundeNavn],
         [o0]. [ID],
         [o0]. [OrderId],
         [o0]. [Produkt]
FRA [Ordrer] SOM [o]
             VENSTRE YDRE SAMLING
         [Ordrelinjer] AS [o0]
         ON [o]. [Id] = [o0]. [OrderId]
HVOR [o]. [id] = 1
ORDRE EFTER [o]. [Id];

Sætning genereret efter tilføjelse af NOLOCK:
VÆLG [o]. [ID],
         [o]. [KundeNavn],
         [o0]. [ID],
         [o0]. [OrderId],
         [o0]. [Produkt]
FRA [Ordrer] SOM [o] MED (NOLOCK)
         VENSTRE YDRE SAMLING
         [Ordrelinjer] SOM [O0] MED (NOLOCK)
         ON [o]. [Id] = [o0]. [OrderId]
HVOR [o]. [id] = 1
ORDRE EFTER [o]. [Id];




Tidligere:(MSSQL) SQL Server fuldtekstsøgning, fuldtekstindeks
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com