SET STATISTICS IO (Transact-SQL)

Force SQL Server à afficher des informations sur la quantité d'activité générée sur le disque par les instructions Transact-SQL.

Icône Lien de rubrique Conventions de la syntaxe de Transact-SQL

Syntaxe

SET STATISTICS IO { ON | OFF }

Notes

Si STATISTICS IO est défini sur ON, des informations statistiques sont affichées. Si l'option est désactivée (OFF), ces informations ne sont pas affichées.

Une fois l'option activée, toutes les instructions Transact-SQL suivantes renvoient des informations statistiques, jusqu'à ce que l'option soit de nouveau désactivée.

Le tableau ci-dessous répertorie et décrit les éléments de sortie.

Élément de sortie

Signification

Table

Nom de la table.

Nombre d'analyses

Nombre de recherches/analyses démarrées après avoir atteint le niveau feuille dans n'importe quelle direction afin de récupérer toutes les valeurs pour construire le dataset final de la sortie.

  • Le nombre d'analyses est 0 si l'index utilisé est un index unique ou un index cluster sur une clé principale et que vous recherchez une seule valeur. Par exemple, WHERE Primary_Key_Column = <value>.

  • Le nombre d'analyses est 1 lorsque vous recherchez une valeur à l'aide d'un index cluster non unique qui est défini sur une colonne clé non principale. Cela permet de rechercher les valeurs en double de la valeur clé que vous recherchez. Par exemple, WHERE Clustered_Index_Key_Column = <value>.

  • Le nombre d'analyses est N lorsque N correspond au nombre de recherches/analyses différentes à gauche ou à droite au niveau feuille après avoir recherché une valeur clé à l'aide de la clé d'index.

Lectures logiques

Nombre de pages lues à partir du cache de données.

lectures physiques

Nombre de pages lues depuis le disque.

Lectures anticipées

Nombre de pages placées dans le cache pour la requête.

Lectures logiques LOB

Nombre de pages lues à partir du cache de données text, ntext, image ou de type de valeur important (varchar(max), nvarchar(max), varbinary(max)).

Lectures physiques LOB

Nombre de pages de type de valeur important lues à partir du disque text, ntext, image.

Lectures anticipées LOB

Nombre de text, ntext, image ou de pages de type de valeur important placées dans le cache pour la requête.

L'option SET STATISTICS IO est définie lors de l'exécution, et non pas durant l'analyse.

[!REMARQUE]

Lorsque des instructions Transact-SQL extraient des colonnes LOB, certaines opérations d'extraction peuvent entraîner le parcours de l'arbre LOB à de multiples reprises. L'option SET STATISTICS IO peut alors signaler un nombre de lectures logiques plus élevé que prévu.

Autorisations

Pour utiliser SET STATISTICS IO, les utilisateurs doivent disposer des autorisations appropriées pour exécuter l'instruction Transact-SQL. L'autorisation SHOWPLAN n'est pas nécessaire.

Exemples

L'exemple suivant illustre comment de nombreuses lectures logiques et physiques sont utilisées par SQL Server, durant le traitement d'instructions.

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

Voici le jeu de résultats obtenu :

Table 'ProductCostHistory'. Scan count 1, logical reads 5, physical 
reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, 
lob read-ahead reads 0.

Voir aussi

Référence

Instructions SET (Transact-SQL)

SET SHOWPLAN_ALL (Transact-SQL)

SET STATISTICS TIME (Transact-SQL)