je les options suivantesComment mesurer avec précision le temps pris par une procédure/fonction stockée
- Utilisez le «Inclure les statistiques du client de l'option SSMS. (Je prends le «temps d'attente sur les réponses du serveur» pour être le temps pris par la procédure stockée)
- Capturez l'heure de début et de fin et prenez le diff.
C'est ce que je fais,
DECLARE @startTime DATETIME
SET @startTime = GETUTCDATE()
EXEC MyStoredProc
PRINT 'Execution Time : ' + CAST(DATEDIFF(ms,@startTime,GETUTCDATE()) AS NVARCHAR(20)) + ' milliseconds'
Mais je vois parfois une grande différence entre les valeurs que je reçois des deux méthodes pour la même procédure stockée que je commence à penser que je fais Quelque chose ne va pas ici. Quelle méthode devrais-je utiliser? ou est-il un meilleur moyen de chronométrer le proc stocké?
+1. Merci d'avoir fait remarquer cela. Mais ce que je voulais vraiment savoir, c'est 'Laquelle des deux méthodes que j'ai mentionnées dans ma question est la plus précise' (en supposant que j'ai nettoyé le cache comme vous l'avez suggéré) – Sadhir
Je ne suis pas sûr, j'utiliserais ' SET STATISTICS TIME ON' au lieu de l'une ou l'autre de ces méthodes. Je suppose que les statistiques sur les clients sont meilleures, mais je ne suis pas sûr. –