Que mesure précisément la durée de la requête lors de l'exécution d'une trace de profileur?
J'ai une procédure stockée qui effectue l'accès aux données (SELECT), et cela prend en moyenne environ 30 secondes pour renvoyer les résultats à l'application. Mais lorsque j'exécute une trace dessus, j'obtiens une durée moyenne d'environ 8 secondes, une durée maximale de 12 secondes, un processeur moyen de 5,5 secondes.
Qu'est-ce qui pourrait lui prendre plus de temps pour renvoyer le jeu de résultats? Je n'accumule pas de grandes attentes NETWORKIO. Le jeu de résultats ne comprend qu'environ 270 lignes de données de texte simples, environ 50 colonnes au total.
sql-server
query-performance
sqlbattsman
la source
la source
Réponses:
La durée représente le temps total du début à la fin de la demande par SQL Server, qui représente le temps d'envoi sur le réseau, le temps du processeur, les attentes et l'exécution. Comme Aaron l'a mentionné une fois que le client a reçu les données, SQL Server a terminé son chronométrage et le client est alors en cours de traitement. Cela ne devrait pas faire partie de la durée.
la source