Temps d'execution d'une procédure stockée : Query Analyzer vs Web app
yanis7518
Messages postés283Date d'inscriptionmercredi 7 décembre 2005StatutMembreDernière intervention 9 juillet 2010
-
12 août 2009 à 10:49
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 2011
-
12 août 2009 à 14:37
Bonjour à tous,
Voila j'utilise une procédure sotckée pour récupérer des infos qui se trouvent en base SQL Server 2005 via Asp.Net et C#.
Le problème c'est que cette procédure stockée part parfois en time out (de façon aléatoire) lorsque je l'execute depuis mon application web alors que depuis le server sql elle fonctionne très bien.
j'ai recompiler ma procédure stockée mais le problème persiste toujours.
Quelqu'un aurai-t-il déja eu ce problème? Pourriez-vous me donnez des pistes vers lesquelles creuser pour résoudre ce problème??
nhervagault
Messages postés6063Date d'inscriptiondimanche 13 avril 2003StatutMembreDernière intervention15 juillet 201137 12 août 2009 à 13:17
Salut
Le timeout de ado.net est par défaut de 30s
donc si la requete mais plus de temps
elle sera en timeout
Il y a pas de timeout dans l'analyseur de requete.
Pistes :
La plus mauvaise
augmenté le timeout de la requete
Les meilleures
* ajout d'index (ou supprssion si besoin)
* repenser la requete
* optimiser la requete
(exemple pas de *, des inner join, à la place des left join selon le cas)
analyser avec le plan d'execution et le profiler.
Les like a éviter
Les curseurs a éviter
Filtrer au maximum
Les or a éviter
yanis7518
Messages postés283Date d'inscriptionmercredi 7 décembre 2005StatutMembreDernière intervention 9 juillet 20103 12 août 2009 à 13:21
merci pour ta réponse nhervagault.
Je vais essayer les différentes pistes que tu me conseille.
par contre ce que j'aimerai savoir c'est pourquoi ma requête met plus de 30s à s'executer via la Web App et moins de temps via le Query Analyzer (durée < 30s)
yanis7518
Messages postés283Date d'inscriptionmercredi 7 décembre 2005StatutMembreDernière intervention 9 juillet 20103 12 août 2009 à 14:32
juste une derniere question.
Est ce que le fait d'éxécuter une procédure stockée de plusieur centaines de lignes ou plusieurs petites procédures stockées (d'une dizaine de lignes) peut avoir un impact quelconque?