See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 27|Vastuse: 0

[Nõuanded] WITH (NOLOCK) optimeerimine kõrge samaaegse EF Core päringute jaoks

[Kopeeri link]
PostitatudEile kell 20:48 | | |
Nõuded: Mõned andmed võimaldavad roppu lugemist, nagu artikli sisu, lehevaatamised, kommentaarid jne, mis ei ole nii põhjalikud kui finantsandmed. Päringute jõudluse parandamiseks võib kasutada ReadUncomcommiteeritud tehinguid, kuid SqlTransactionil ja TransactionScope'il on lekkeisolatsiooni taseme vead, mida pole veel parandatud, seega kaaluge WITH (NOLOCK) lahenduse kasutamist.

Läbivaatamine:
Entity Framework päringute optimeerimine WITH(NOLOCK)
https://www.itsvse.com/thread-9513-1-1.html

.NET/C# kasutab SQL-lausete parsimiseks ja täitmiseks SqlScriptDOM-i
https://www.itsvse.com/thread-11222-1-1.html

SqlTransaction ja TransactionScope lekkeisolatsiooni tasemed (see viga on olnud 8 aastat ja pole siiani parandatud!) Ma arvan, et paljud inimesed võivad olla mõjutatud, kuid nad ei pruugi seda mõista):Hüperlingi sisselogimine on nähtav.

See artikkel peab viitama SqlScriptDOM-ile SQL-lausete parsimiseks ja lisama WITH(NOLOCK). Vaata avatud lähtekoodiga projekti:Hüperlingi sisselogimine on nähtav.

Nuget tsiteerib järgmiselt:
Loo uus AllowDirtyReadAttribute.cs funktsioon, kood järgmiselt:
Loo uus WithNoLockInterceptor, et üle kirjutada teatud meetodid DbCommandInterceptoris. Kood on järgmine:
Sisesta EF Core'i järgmise konfiguratsiooniga:
Kasuta, et lisada see kontrolleri meetodi kohale[LubaMustaLugeda]Võib.

Toore SQL-lause:
VALI [o]. [id],
         [o]. [KliendiNimi],
         [o0]. [id],
         [o0]. [OrderId],
         [o0]. [Toode]
ALATES [Käsk] KUI [o]
             VASAK VÄLISÜHENDUS
         [OrderLines] AS [o0]
         ON [o]. [id] = [o0]. [OrderId]
KUS [o]. [id] = 1
KÄSK [o]. [id];

Avaldus, mis genereeritakse pärast NOLOCKi lisamist:
VALI [o]. [id],
         [o]. [KliendiNimi],
         [o0]. [id],
         [o0]. [OrderId],
         [o0]. [Toode]
ALATES [Käsk] KUI [o] KOOS (NOLOCK)
         VASAK VÄLISÜHENDUS
         [OrderLines] AS [o0] KOOS (NOLOCKIGA)
         ON [o]. [id] = [o0]. [OrderId]
KUS [o]. [id] = 1
KÄSK [o]. [id];




Eelmine:(MSSQL) SQL Server täisteksti otsing, täisteksti indeks
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com