Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 26469|Atbildi: 3

[Avots] EF ir piesardzīgs attiecībā uz nejaušiem datiem

[Kopēt saiti]
Publicēts 25.04.2019 17:01:42 | | | |
Šodien serveris cieta CC uzbrukumu, izraisot IIS vietnes uzkaršanu, un pēc restartēšanas vietne atkal tika uzkarināta, pārbaudiet vietnes kļūdu žurnālu šādi:

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


Liels skaits vaicājuma taimauta izņēmumu izraisa vietnes uzkaršanu, un vaicājuma taimauta SQL paziņojumi visi nāk no nejaušu datu ņemšanas metodes, kods ir šāds:

Kods aptuveni nozīmē: 10 datu vienības tiek nejauši atlasītas no datu bāzes, ja vien tās nedublē pašreizējo ID.

Šķiet, ka vienkārša prasība ir izraisījusi servera uzkaršanu! Iepriekš minētā koda ģenerētais SQL paziņojums ir šāds:

Īstenošanas plāns ir šāds:



Ja datubāzē ir 1 miljons datu vienību, vai vispirms nebūtu nepieciešami 999 999 datu gabali un pēc tam 10 datu vienības no šiem 999 999 datu gabaliem?

Pajautājiet dba grupas lielajam puisim un saņemiet atbildi: "Ak, mans Dievs, tam jābūt lēnam, un jums ir jāsauc šis sql paziņojums daudzas reizes.



Sākumā es domāju, ka tā ir EF problēma,Patiesībā, ja jūs rakstāt tieši sql, nav laba risinājuma

Ja tā, lūdzu, māciet mani!




Iepriekšējo:Atvērtā koda projekts HtmlAgilityPack ievieš C# tīmekļa rāpuļprogrammu
Nākamo:2019. gada HCIA mācību video
Publicēts 25.04.2019 17:07:00 |
Uzzināju
Publicēts 26.04.2019 09:20:13 |
Programmā ir desmit nejauši skaitļi, un tad sql šajā numurā ir ideāls
Publicēts 26.04.2019 13:08:53 |
Es iemācījos ~~~~~~~~~~~~~~~~
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com