Est-ce une durée de 394 lors de l'exécution d'une requête SQL trop?

J'ai eu ce problème de pool de connection:

Comment résoudre un problème de pool de connection entre ASP.NET et SQL Server?

Et je trace maintenant en utilisant le profileur SQL, et j'ai trouvé que certaines requêtes prennent environ 400 durée pour finir et returnner des données.

Est-ce que cette valeur est trop?

Cela peut-il provoquer le problème du pool de connections précédent?

400 signifie 400 ms ou 0,4 seconde.

Que cela soit trop long dépend vraiment. S'il s'agit de votre première page ou d'une autre zone à fort trafic, c'est trop, sauf s'il s'agit d'un site intranet. Vous devrez peut-être repenser la façon dont ces données peuvent être obtenues ou utiliser la caching pour réduire le nombre de fois que vous devez exécuter la requête.

Si c'est un rapport, ou une autre page plus impliquée, alors 400 ms n'est pas hors de ligne. Au mieux, vous pourriez vouloir vérifier si la requête peut être faite un peu plus rapidement pour améliorer l'expérience user globale.

Vous pouvez également exécuter l'Assistant d'optimization pour déterminer si les requêtes ne s'exécutent que lentement, car vous n'avez pas les index corrects.

Cela dépend de votre application. C'est less de 1/2 seconde. Si vous avez affaire à des dizaines de millions de lignes de données, cela pourrait être très bien. D'autre part, si vous avez des milliers d'users, vos sets de données sont petits, et cette requête est exécutée en permanence, alors peut-être vous avez besoin de regarder les performances de la requête.

Ce genre de dépend de l'utilisation des requêtes, de leur fréquence d'exécution et de l'attente de l'user en termes de time de réponse.

Si la requête est lente sur un petit set de données, il y a probablement un problème avec votre SQL, vos index ou votre connection réseau entre votre server Web et votre server de database. L'optimization de la requête est probablement votre meilleure première tâche pour résoudre ce problème.

En outre, si les requêtes s'exécutent souvent ou dans une zone du système où vous avez besoin d'un time de réponse rapide, vous pouvez envisager d'optimiser un peu la requête.

Si la requête a besoin d'être exécutée pendant cette période et ne peut pas être optimisée davantage, mais que datatables ne changent pas très souvent, la caching du résultat dans l'application pourrait peut-être améliorer le time de réponse.

Si vous avez un petit nombre d'users qui ne se soucient pas de la performance (par exemple, les administrateurs qui exécutent un rapport), vous n'avez pas à vous inquiéter.