Bonjour
Si c'était la première fois que vous avez exécuté la requête, ce temps est normal, car il lui faut le temps de lire les données du disque afin de les mettre en cache puis de lire le cache et de l'envoyer au client.
Le temps relevé est alors essentiellement lié à la vitesse du sous-système disque.
Si les données était en cache, alors le temps essentiel est celui de l'affichage si vous êtes en local. Sinon en distant c'est le temps réseau.
Vous pouvez simuler ce comportement en vidant le cache avec la commande :
Et réexécuter la requête. Pour mieux voir la situation, utilisez les statistiques :
SET STATISTICS IO ON; --> permettra de voir la consommation d'IO physique (lecture physiques et anticipées => disque)
Pour voir si c'est le tampon d'affichage qui à pris du temps, réexécuter la requête avec l'option statistique :
SET STATISTICS TIME ON; --> temps UC et temps chrono (notez les)
Puis faite la requête suivante :
SELECT COUNT(*) FROM Ma_Table;
et notez les temps. La différence vous montrera le coût du tampon d'affichage.
A +
PS : nous serons aux journées SQL Server Microsoft GUSS.
Personnellement je fais une session consacrée à : "20 requêtes pour mesurer la qualité du modèle de votre base"
Partager