Ten artykuł jest lustrzanym artykułem tłumaczenia maszynowego, kliknij tutaj, aby przejść do oryginalnego artykułu.

Widok: 26469|Odpowiedź: 3

[Źródło] EF jest ostrożny wobec danych losowych

[Skopiuj link]
Opublikowano 25.04.2019 17:01:42 | | | |
Dziś serwer został zaatakowany przez CC, co spowodowało zawieszenie strony na IIS, a po ponownym uruchomieniu strona została ponownie zawieszona, sprawdź logi błędów strony następująco:

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


Duża liczba wyjątków timeoutu zapytań powoduje zawieszanie strony internetowej, a instrukcje timeout SQL pochodzą z metody losowego pobierania danych, a kod wygląda następująco:

Kod oznacza mniej więcej: 10 fragmentów danych jest losowo wybieranych z bazy, o ile nie duplikują aktualnego ID.

To, co wydaje się prostym wymaganiem, spowodowało, że serwer się rozłączył! Instrukcja SQL wygenerowana przez powyższy kod wygląda następująco:

Plan wdrożenia przedstawia się następująco:



Jeśli baza danych zawiera milion danych, czy nie potrzeba najpierw 999 999 danych, a potem pobrania 10 fragmentów danych z tych 999 999 danych?

Zapytaj dużego z grupy DBA i poznaj odpowiedź: "TakO mój Boże, to musi być wolne i musisz wywoływać to polecenie SQL wiele razy.



Na początku myślałem, że to problem EF,W rzeczywistości, jeśli piszesz bezpośrednio w SQL, nie ma dobrego rozwiązania

Jeśli tak, to proszę, naucz mnie!




Poprzedni:Projekt open-source HtmlAgilityPack implementuje crawler C#
Następny:Filmy edukacyjne HCIA 2019
Opublikowano 25.04.2019 17:07:00 |
uczony
Opublikowano 26.04.2019 09:20:13 |
W programie jest dziesięć liczb losowych, a SQL w tej liczbie jest idealne
Opublikowano 26.04.2019 13:08:53 |
Nauczyłem się ~~~~~~~~~~~~~~~~
Zrzeczenie się:
Całe oprogramowanie, materiały programistyczne lub artykuły publikowane przez Code Farmer Network służą wyłącznie celom edukacyjnym i badawczym; Powyższe treści nie mogą być wykorzystywane do celów komercyjnych ani nielegalnych, w przeciwnym razie użytkownicy ponoszą wszelkie konsekwencje. Informacje na tej stronie pochodzą z Internetu, a spory dotyczące praw autorskich nie mają z nią nic wspólnego. Musisz całkowicie usunąć powyższą zawartość z komputera w ciągu 24 godzin od pobrania. Jeśli spodoba Ci się program, wspieraj oryginalne oprogramowanie, kup rejestrację i korzystaj z lepszych, autentycznych usług. W przypadku naruszenia praw prosimy o kontakt mailowy.

Mail To:help@itsvse.com