|
|
Postat peIeri la 20:48
|
|
|

Cerințe: Unele date permit citirea superficială, cum ar fi conținutul articolelor, vizualizările de pagină, comentariile etc., care nu sunt la fel de riguroase ca datele financiare. Pentru a îmbunătăți performanța interogărilor, pot fi folosite tranzacții ReadUncommitted, dar SqlTransaction și TransactionScope au erori la nivel de izolare a scurgerilor care nu au fost încă corectate, așa că luați în considerare utilizarea soluției WITH (NOLOCK).
Recenzie:
Nivelurile de izolare a scurgerilor SqlTransaction și TransactionScope (acest bug există de 8 ani și încă nu a fost remediat!) Estimez că mulți oameni ar putea fi afectați, dar s-ar putea să nu realizeze asta):Autentificarea cu hyperlink este vizibilă.
Acest articol trebuie să facă referire la SqlScriptDOM pentru a analiza instrucțiunile SQL și a adăuga WITH(NOLOCK). Consultați proiectul open-source:Autentificarea cu hyperlink este vizibilă.
Nuget citează astfel:
Creează o nouă funcție de AllowDirtyReadAttribute.cs, codează după cum urmează:
Creează un nou WithNoLockInterceptor pentru a suprascrie anumite metode în DbCommandInterceptor. Codul este următorul:
Injectează în EF Core cu următoarea configurație:
Folosește metoda pentru a o adăuga deasupra controller-ului[PermiteCitește Murdar]Putea.
Declarație SQL brută:
SELECT [o]. [Id], [o]. [NumeClient], [o0]. [Id], [o0]. [OrderId], [o0]. [Produs] DIN [Ordine] CA [o] ÎMBINAREA EXTERIOARĂ STÂNGĂ [Linii de comandă] AS [o0] ON [o]. [Id] = [o0]. [OrderId] UNDE [o]. [Id] = 1 ORDINE DE [o]. [Id]; Declarație generată după adăugarea NOLOCK:
SELECT [o]. [Id], [o]. [NumeClient], [o0]. [Id], [o0]. [OrderId], [o0]. [Produs] DE [Ordine] CA [O] CU (NOLOCK) ÎMBINAREA EXTERIOARĂ STÂNGĂ [Linii de comandă] CA [OO] CU (NOLOCK) ON [o]. [Id] = [o0]. [OrderId] UNDE [o]. [Id] = 1 ORDINE DE [o]. [Id]; |
Precedent:(MSSQL) SQL Server Căutare Text Integral, Index Text Integral
|