Bonjour à tous,

Je souhaiterai pouvoir comparer le temps d’exécution d'une requête. Pour cela j'ai essayé de la répéter quelques centaines de fois dans mon SQL Server Management Studio.

Pour information, je travail avec SQL SERVER 2008.

Comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
SELECT * FROM T_PERSONNE
GO
SELECT * FROM T_PERSONNE
GO
...
Je divise ensuite le nombre de requête par le temps d'exécution pour obtenir le temps d'exécution moyen de ma requête.

Hélas, entre deux test de ce - benchmark - (a prendre bien entre des pincettes), les temps moyens sont vraiment différents d'une exécution à l'autre, et cela m’empêche de comparer avec d'autres type de requête comme par exemple :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT NOM, PRENOM, ADRESSE FROM T_PERSONNE
ou

Code : Sélectionner tout - Visualiser dans une fenêtre à part
SELECT NOM, PRENOM, ADRESSE FROM dbo.T_PERSONNE
J'avais tenté de faire cela :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
DECLARE @I INT 
SET @I =1 
 
WHILE @I < 300 
BEGIN 
	SELECT * FROM T_PERSONNE
END
Mais le delta entre deux exécutions sont toujours gênant pour bien se rendre compte de l'impact des différentes écritures possibles.

Auriez-vous une idée d'une bonne façon de procéder ?

Merci,
Etanne