Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 26469|Svare: 3

[Kilde] EF er forsiktig med tilfeldige data

[Kopier lenke]
Publisert på 25.04.2019 17:01:42 | | | |
I dag ble serveren utsatt for et CC-angrep, noe som førte til at nettsiden på IIS hang seg, og nettsiden ble hengt opp igjen etter omstart, sjekk feilloggen på nettsiden som følger:

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


Et stort antall spørringstidsavbrudd gjør at nettsiden henger, og SQL-setningene for spørringstidsavbrudd kommer alle fra en metode som henter tilfeldig data, koden er som følger:

Koden betyr omtrent: 10 databiter velges tilfeldig fra databasen, så lenge de ikke dupliserer den nåværende ID-en.

Det som virker som et enkelt krav har fått serveren til å henge opp! SQL-setningen generert av koden ovenfor er som følger:

Implementeringsplanen er som følger:



Hvis databasen har 1 million data, ville den ikke først ta 999 999 data, og deretter ta 10 databiter fra disse 999 999 dataene?

Spør den store aktøren i DBA-gruppen og få svaret: "JaHerregud, det må være tregt, og du må kalle denne SQL-setningen mange ganger.



Først trodde jeg det var et EF-problem,Faktisk, hvis du skriver direkte i SQL, finnes det ingen god løsning

Hvis ja, vær så snill og lær meg!




Foregående:Det åpne kildekodeprosjektet HtmlAgilityPack implementerer C#-nettcrawleren
Neste:2019 HCIA læringsvideoer
Publisert på 25.04.2019 17:07:00 |
lærd
Publisert på 26.04.2019 09:20:13 |
I programmet er det ti tilfeldige tall, og SQL i dette tallet er perfekt
Publisert på 26.04.2019 13:08:53 |
Jeg lærte ~~~~~~~~~~~~~~~~
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com