Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 26469|Répondre: 3

[Source] EF se méfie des données aléatoires

[Copié le lien]
Publié sur 25/04/2019 17:01:42 | | | |
Aujourd’hui, le serveur a subi une attaque CC, ce qui a fait bloquer le site sur IIS, et le site a été de nouveau bloqué après un redémarrage, vérifiez le journal des erreurs du site comme suit :

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


Un grand nombre d’exceptions liées au délai d’expiration des requêtes bloquent le site web, et les instructions SQL de délai d’attente proviennent toutes d’une méthode de prise de données aléatoires, le code est le suivant :

Le code signifie approximativement : 10 données sont sélectionnées aléatoirement dans la base de données, tant qu’elles ne dupliquent pas l’ID actuel.

Ce qui semble être une exigence simple a fait raccrocher le serveur ! L’instruction SQL générée par le code ci-dessus est la suivante :

Le plan de mise en œuvre est le suivant :



Si la base de données contient 1 million de données, ne prendrait-elle pas d’abord 999 999 données, puis 10 données de ces 999 999 ?

Demandez au grand responsable du groupe DBA et obtenez la réponse : «OuiOh mon Dieu, ça doit être lent, et il faut appeler ça SQL plusieurs fois.



Au début, je pensais que c’était un problème d’EF,En fait, si vous écrivez directement en SQL, il n’y a pas de bonne solution

Si oui, apprends-moi s’il te plaît !




Précédent:Le projet open source HtmlAgilityPack implémente l’outil d’indexation web C#
Prochain:Vidéos d’apprentissage HCIA 2019
Publié sur 25/04/2019 17:07:00 |
instruit
Publié sur 26/04/2019 09:20:13 |
Dans le programme, il y a dix nombres aléatoires et alors sql dans ce nombre est parfait
Publié sur 26/04/2019 13:08:53 |
J’ai appris ~~~~~~~~~~~~~~~~
Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com