Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Qu'est-ce que STATISTICS IO dans SQL Server ?

Dans SQL Server, vous pouvez utiliser le SET STATISTICS IO pour générer des informations détaillées sur la quantité d'activité du disque générée par une instruction T-SQL.

Dans les outils graphiques tels que SSMS et Azure Data Studio, vous pouvez afficher ces informations dans les Messages onglet.

Exemple

Voici un exemple simple à démontrer.

SET STATISTICS IO ON;

SELECT 
    c.CityName, 
    s.StateProvinceName AS State, 
    c.LatestRecordedPopulation AS Population
FROM Application.Cities c
INNER JOIN Application.StateProvinces s
ON c.StateProvinceID = s.StateProvinceID
WHERE c.LatestRecordedPopulation > 2000000
ORDER BY c.LatestRecordedPopulation DESC;

Au départ, vous verrez probablement les résultats de la requête comme d'habitude :

Pour afficher la sortie de STATISTICS IO , cliquez sur Messages onglet :

Cet exemple a été réalisé dans Azure Data Studio, et c'est le même processus lors de l'utilisation de SSMS. Cependant, les étapes réelles que vous devez suivre peuvent dépendre de l'outil que vous utilisez pour vous connecter à SQL Server.

Vous trouverez ci-dessous une copie de l'STATISTICS IO message de la capture d'écran ci-dessus :

(6 rows affected)
Table 'Worktable'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'Workfile'. Scan count 0, logical reads 0, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'StateProvinces'. Scan count 1, logical reads 2, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Table 'Cities'. Scan count 1, logical reads 497, physical reads 0, page server reads 0, read-ahead reads 0, page server read-ahead reads 0, lob logical reads 0, lob physical reads 0, lob page server reads 0, lob read-ahead reads 0, lob page server read-ahead reads 0.
Total execution time: 00:00:00.027

Comment l'éteindre

Réglage STATISTICS IO sur ON affecte toutes les instructions T-SQL suivantes jusqu'à ce qu'il soit désactivé.

Pour le désactiver, relancez-le simplement en utilisant OFF au lieu de ON :

SET STATISTICS IO OFF;