Bonjour tout le monde !
Je suis sur un serveur local SQL SERVER 2008. je constate que la durée d'exécution d'une même requête varie à chaque exécution.
Exemple :
1er essai
--------
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
DBCC FREESYSTEMCACHE ('ALL')

USE AdventureWorks;
GO
SET STATISTICS TIME ON
GO
SELECT *
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO

--Resultat 1er essai
--------------------

Temps d'analyse et de compilation de SQL Server :
, Temps UC = 0*ms, temps écoulé = 164*ms.
Temps d'analyse et de compilation de SQL Server :
, Temps UC = 0*ms, temps écoulé = 0*ms.

(269*ligne(s) affectée(s))

SQL Server \endash Temps d'exécution*:
, Temps UC = 0*ms, temps écoulé = 10*ms.
Temps d'analyse et de compilation de SQL Server :
, Temps UC = 0*ms, temps écoulé = 0*ms.

2eme essai
--------
DBCC DROPCLEANBUFFERS
DBCC FREEPROCCACHE
DBCC FREESYSTEMCACHE ('ALL')

USE AdventureWorks;
GO
SET STATISTICS TIME ON
GO
SELECT *
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO

-- Resultat 2eme essai
-----------------------
Temps d'analyse et de compilation de SQL Server :
, Temps UC = 0*ms, temps écoulé = 165*ms.
Temps d'analyse et de compilation de SQL Server :
, Temps UC = 0*ms, temps écoulé = 0*ms.

(269*ligne(s) affectée(s))

SQL Server \endash Temps d'exécution*:
, Temps UC = 0*ms, temps écoulé = 11*ms.
Temps d'analyse et de compilation de SQL Server :
, Temps UC = 0*ms, temps écoulé = 0*ms.


Ainsi de suite...et le temps d'exécution varie de façon aléatoire !

Précision : Je suis le seul utilisateur sur le serveur (l'instance est sur mon PC portable) et il n'y a pas d'autre opération sur la base de données entre les différentes exécutions !

Merci pour l'intérêt que vous portez à ce post.

Merci d'avance