Lorsque je soumets un lot (par exemple, une requête) dans SSMS, je vois le temps qu’il a fallu pour s’exécuter dans la barre d’état. Est-il possible de configurer SSMS pour afficher le temps d'interrogation avec une résolution en millisecondes?
Voici la barre dont je parle avec la section d'intérêt entourée en rouge:
Je me débattais avec ça jusqu'à ce que je trouve ça ...
De plus, si vous ouvrez la fenêtre Propriétés, vous découvrirez peut-être un "temps écoulé de connexion" magique qui peut vous donner un peu de temps d'exécution ... J'espère que cela vous aidera ...
Ce que vous voulez faire est ceci:
set statistics time on
-- your query
set statistics time off
La sortie ressemblera à quelque chose comme ceci dans votre fenêtre Messages:
Temps d'exécution SQL Server: temps CPU = 6 ms, temps écoulé = 6 ms.
Activez Statistiques du client en effectuant l’une des opérations suivantes:
Ensuite, vous obtenez un nouvel onglet qui enregistre les timings, IO données et les montants de lignes, etc. pour (jusqu'à) les 10 dernières exceptions (plus les moyennes!):
Pour obtenir l'heure d'exécution sous forme de variable dans votre proc:
DECLARE @EndTime datetime
DECLARE @StartTime datetime
SELECT @StartTime=GETDATE()
-- Write Your Query
SELECT @EndTime=GETDATE()
--This will return execution time of your query
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in millisecs]
ET voir ceci
J'étais après la même chose et suis tombé sur le lien suivant qui était génial:
http://www.sqlserver.info/management-studio/show-query-execution-time/
Il montre trois manières différentes de mesurer la performance. Tous bons pour leurs propres forces. Celui que j'ai choisi est le suivant:
DECLARE @ Time1 DATETIME
DECLARE @ Time2 DATETIME
SET @ Time1 = GETDATE ()
- Insérer la requête ici
SET @ Time2 = GETDATE ()
SELECT DATEDIFF (MILLISECOND, @ Time1, @ Time2) AS Elapsed_MS
Cela affichera les résultats de votre requête, suivis du temps nécessaire à son exécution.
J'espère que cela t'aides.
Je ne sais pas s'il faut agrandir la barre d'informations.
Cependant, vous pouvez définir le minutage par défaut pour toutes les requêtes affichées dans l'onglet "Messages".
Lorsque vous vous trouvez dans une fenêtre de requête, accédez à l’élément du menu de requête, sélectionnez "Options de requête", puis "Avancé" dans le groupe "Exécution" et cochez les cases "Définir la durée de la statistique"/"Définir la statistique IO". Ces valeurs apparaîtront alors dans la zone des messages pour chaque requête sans avoir à se rappeler d’activer et de désactiver les statistiques définies.
Vous pouvez également utiliser les touches Maj + Alt + S pour activer les statistiques client à tout moment.
Vous pouvez essayer ce code:
USE AdventureWorks2012;
GO
SET STATISTICS TIME ON;
GO
SELECT ProductID, StartDate, EndDate, StandardCost
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO