Denna artikel är en spegelartikel om maskinöversättning, klicka här för att hoppa till originalartikeln.

Utsikt: 26469|Svar: 3

[Källa] EF är försiktig med slumpmässiga data

[Kopiera länk]
Publicerad på 2019-04-25 17:01:42 | | | |
Idag drabbades servern av en CC-attack, vilket gjorde att webbplatsen på IIS hängde sig, och webbplatsen blev upphängd igen efter omstart, kontrollera webbplatsens fellogg enligt följande:

System.Data.Entity.Core.EntityCommandExecutionException: 执行命令定义时出错。有关详细信息,请参阅内部异常。 ---> System.Data.SqlClient.SqlException: 执行超时已过期。完成操作之前已超时或服务器未响应。  ---> System.ComponentModel.Win32Exception: 等待的操作过时。


Ett stort antal frågetidsavbrott gör att webbplatsen hänger, och SQL-satserna för frågeutsättning kommer alla från en metod som samlar slumpmässig data, koden är följande:

Koden betyder ungefär: 10 databitar väljs slumpmässigt från databasen, så länge de inte duplicerar det aktuella ID:t.

Vad som verkar vara ett enkelt krav har fått servern att lägga på! SQL-satsen som genereras av ovanstående kod är följande:

Genomförandeplanen är följande:



Om databasen har 1 miljon data, skulle den inte ta 999 999 datan först och sedan ta 10 datastycken från dessa 999 999 data?

Fråga den stora killen i DBA-gruppen och få svaret: "JaHerregud, det måste vara långsamt, och du måste anropa detta SQL-uttalande många gånger.



Först trodde jag att det var ett EF-problem,Faktum är att om du skriver direkt i SQL finns det ingen bra lösning

Om så är fallet, lär mig gärna!




Föregående:Det öppna källkodsprojektet HtmlAgilityPack implementerar C#-webbcrawlern
Nästa:HCIA-lärvideorna 2019
Publicerad på 2019-04-25 17:07:00 |
lärd
Publicerad på 2019-04-26 09:20:13 |
I programmet finns det tio slumpmässiga tal och SQL i detta tal är perfekt
Publicerad på 2019-04-26 13:08:53 |
Jag lärde mig ~~~~~~~~~~~~~~~~
Friskrivning:
All programvara, programmeringsmaterial eller artiklar som publiceras av Code Farmer Network är endast för lärande- och forskningsändamål; Ovanstående innehåll får inte användas för kommersiella eller olagliga ändamål, annars kommer användarna att bära alla konsekvenser. Informationen på denna sida kommer från internet, och upphovsrättstvister har inget med denna sida att göra. Du måste helt radera ovanstående innehåll från din dator inom 24 timmar efter nedladdning. Om du gillar programmet, vänligen stöd äkta programvara, köp registrering och få bättre äkta tjänster. Om det finns något intrång, vänligen kontakta oss via e-post.

Mail To:help@itsvse.com