Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 26469|Risposta: 3

[Fonte] EF è cauto riguardo ai dati casuali

[Copiato link]
Pubblicato su 25/04/2019 17:01:42 | | | |
Oggi, il server ha subito un attacco CC, causando il blocco del sito su IIS, e il sito si è ribloccato dopo il riavvio, controlla il registro degli errori del sito come segue:

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


Un gran numero di eccezioni per il tempo di scadenza delle query fa bloccare il sito web, e le istruzioni SQL per il tempo di scadenza delle query provengono tutte da un metodo di raccolta di dati casuali, il codice è il seguente:

Il codice significa approssimativamente: 10 dati sono selezionati casualmente dal database, purché non duplicino l'ID corrente.

Quello che sembra un requisito semplice ha fatto sì che il server riattacca! L'istruzione SQL generata dal codice sopra è la seguente:

Il piano di attuazione è il seguente:



Se il database ha 1 milione di dati, non dovrebbe prima prendere 999.999 pezzi di dati, e poi 10 pezzi di dati da questi 999.999 dati?

Chiedi al capo del gruppo DBA e ottieni la risposta: "Oh mio Dio, deve essere lento, e devi chiamare questa dichiarazione sql molte volte.



All'inizio pensavo fosse un problema di EF,Infatti, se scrivi direttamente in SQL, non c'è una buona soluzione

Se sì, per favore insegnatemi!




Precedente:Il progetto open-source HtmlAgilityPack implementa il web crawler C#
Prossimo:Video di apprendimento HCIA 2019
Pubblicato su 25/04/2019 17:07:00 |
istruito
Pubblicato su 26/04/2019 09:20:13 |
Nel programma, ci sono dieci numeri casuali e poi sql in questo numero è perfetto
Pubblicato su 26/04/2019 13:08:53 |
Ho imparato ~~~~~~~~~~~~~~~~
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com