SET STATISTICS IO (Transact-SQL)

Impone in SQL Server la visualizzazione di informazioni sulla quantità di attività del disco generata da istruzioni Transact-SQL.

Icona di collegamento a un argomento Convenzioni della sintassi Transact-SQL

Sintassi

SET STATISTICS IO { ON | OFF }

Osservazioni

Quando l'opzione STATISTICS IO è impostata su ON, vengono visualizzate informazioni statistiche. Quando è impostata su OFF, le informazioni non vengono visualizzate.

Quando l'opzione viene impostata su ON, tutte le successive istruzioni Transact-SQL restituiscono le informazioni statistiche fino a quando l'opzione non viene reimpostata su OFF.

Nella tabella seguente viene visualizzato un elenco di elementi di output e la relativa descrizione.

Elemento di output

Descrizione

Table

Nome della tabella.

Scan count

Numero di ricerche/analisi avviate dopo aver raggiunto il livello foglia in qualsiasi direzione per recuperare tutti i valori in modo da costruire il set di dati finale per l'output.

  • Il conteggio analisi è 0 se l'indice utilizzato è univoco o cluster in una chiave primaria e si cerca un unico valore. Ad esempio WHERE Primary_Key_Column = <value>.

  • Il conteggio analisi è 1 quando si cerca un valore utilizzando un indice cluster non univoco definito in una colonna chiave non primaria. Questa operazione viene effettuata per verificare valori duplicati per il valore di chiave che si sta cercando. Ad esempio WHERE Clustered_Index_Key_Column = <value>.

  • Il conteggio analisi è N quando N è il numero di ricerche/analisi differenti avviate verso sinistra o destra nel livello foglia dopo aver individuato un valore di chiave utilizzando la chiave di indice.

logical reads

Numero di pagine lette dalla cache dei dati.

physical reads

Numero di pagine lette dal disco.

read-ahead reads

Numero di pagine inserite nella cache per la query.

lob logical reads

Numero di pagine lette dalla cache di dati di tipo text, ntext, image o di tipi per valori di grandi dimensioni (varchar(max), nvarchar(max), varbinary(max)).

lob physical reads

Numero di pagine lette dal disco di dati di tipo text, ntext, image o di tipi per valori di grandi dimensioni.

lob read-ahead reads

Numero di pagine di dati di tipo text, ntext, image o di tipi per valori di grandi dimensioni, inserite nella cache per la query.

L'opzione SET STATISTICS IO viene impostata in fase di esecuzione, non in fase di analisi.

[!NOTA]

Durante il recupero di colonne LOB da parte di istruzioni Transact-SQL, alcune operazioni di recupero possono richiedere più volte l'attraversamento dell'albero LOB. Per questo motivo SET STATISTICS IO può segnalare un numero di letture logiche superiore al previsto.

Autorizzazioni

Per utilizzare l'opzione SET STATISTICS IO, gli utenti devono disporre delle autorizzazioni appropriate per eseguire l'istruzione Transact-SQL. Non sarà necessario disporre dell'autorizzazione SHOWPLAN.

Esempi

Nell'esempio seguente viene illustrato il numero di letture logiche e fisiche utilizzate da SQL Server per l'elaborazione delle istruzioni.

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

Set di risultati:

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.

Vedere anche

Riferimento

Istruzioni SET (Transact-SQL)

SET SHOWPLAN_ALL (Transact-SQL)

SET STATISTICS TIME (Transact-SQL)