|
|
KözzétéveTegnap 20:48-kor
|
|
|

Követelmények: Néhány adat lehetővé teszi a piszkos olvasást, például cikktartalom, oldalmegtekintések, hozzászólások stb., amelyek nem olyan szigorúak, mint a pénzügyi adatok. A lekérdezések teljesítményének javítása érdekében ReadUncommitted tranzakciókat használhatnak, de a SqlTransaction és a TransactionScope szivárgás-izolációs szintű hibákat tartalmaz, amelyeket még nem javítottak, ezért fontold meg az WITH (NOLOCK) megoldás használatát.
Szemle:
A SqlTransaction és a TransactionScope szivárgás izolációs szintjei (ez a hiba már 8 éve létezik, és még mindig nem javították!) Úgy becsülem, sokan érintettek lehetnek, de lehet, hogy nem veszik észre):A hiperlink bejelentkezés látható.
Ennek a cikknek a SqlScriptDOM-ra kell hivatkoznia az SQL utasítások elemzéséhez, és hozzáadnia kell a WITH(NOLOCK) utasítást. Lásd a nyílt forráskódú projektet:A hiperlink bejelentkezés látható.
A Nuget a következőképpen idéz:
Hozz létre egy új AllowDirtyReadAttribute.cs funkciót, kódolj a következőként:
Hozz létre egy új WithNoLockInterceptort, hogy felülírja bizonyos módszereket a DbCommandInterceptorban. A kód a következő:
A következő konfigurációval fecskendezzük be az EF Core-ba:
Használd a vezérlő módszer fölé adni[AllegDirtyRead]Tud.
Nyers SQL állítás:
SELECT [o]. [Id], [o]. [CustomerName], [o0]. [Id], [o0]. [OrderId], [o0]. [Termék] FROM [Parancsok] AS [o] BAL KÜLSŐ CSATLAKOZÁS [OrderLines] AS [o0] ON [o]. [Id] = [o0]. [OrderId] HOL [o]. [Id] = 1 PARANCS: [o]. [Id]; A NOLOCK hozzáadása után generált állítás:
SELECT [o]. [Id], [o]. [CustomerName], [o0]. [Id], [o0]. [OrderId], [o0]. [Termék] FROM [Parancsok] AS [o] WITH (NOLOCK) BAL KÜLSŐ CSATLAKOZÁS [OrderLines] AS [o0] WITH (NOLOCK) ON [o]. [Id] = [o0]. [OrderId] HOL [o]. [Id] = 1 PARANCS: [o]. [Id]; |
Előző:(MSSQL) SQL Server teljes szöveges keresés, teljes szöveges index
|