SET STATISTICS IO (Transact-SQL)

Si applica a: SQL Server Database SQL di Azure Istanza gestita di SQL di Azure

Fa sì che SQL Server visualizzi informazioni sulla quantità dell'attività di I/O a livello fisico e logico generata dalle istruzioni Transact-SQL. L'I/O fisico è correlato all'accesso alle pagine di dati su disco, mentre l'I/O logico è correlato all'accesso alle pagine di dati in memoria (cache dei dati).

Convenzioni relative alla sintassi Transact-SQL

Sintassi

SET STATISTICS IO { ON | OFF }

Output

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

Elemento di output significato
Table Nome della tabella.
Scan count Numero di ricerche o analisi avviate dopo aver raggiunto il livello foglia in qualsiasi direzione per recuperare tutti i valori al fine di costruire il set di dati finale per l'output.

Il conteggio analisi è 0 se l'indice usato è un indice univoco o cluster in una chiave primaria e se si sta cercando un solo valore. Ad esempio: WHERE Primary_Key_Column = <value>.
Il conteggio analisi è 1 quando si cerca un valore usando un indice cluster non univoco definito in una colonna chiave non primaria. Questo processo viene eseguito per verificare la presenza di valori duplicati per il valore di chiave che si sta cercando. Ad esempio: WHERE Clustered_Index_Key_Column = <value>.
Il numero di analisi è N quando N è il numero di ricerca o analisi diverse avviate verso sinistra o destra a livello foglia dopo aver individuato un valore di chiave usando la chiave di indice.
logical reads Numero di pagine lette dalla cache dei dati.
physical reads Numero di pagine lette dal disco.
page server reads Numero di pagine lette dai server di pagine. **
read-ahead reads Numero di pagine inserite nella cache dalla query, tramite read-ahead.
page server read-ahead reads Numero di pagine lette dai server di pagine e inserite nella cache dei dati dalla query tramite read-ahead. **
lob logical reads Numero di pagine LOB* lette dalla cache dei dati.
lob physical reads Numero di pagine LOB* lette dal disco.
lob page server reads Numero di pagine LOB* lette dai server di pagine. **
lob read-ahead reads Numero di pagine LOB* inserite nella cache dei dati dalla query, tramite read-ahead.
lob page server read-ahead reads Numero di pagine LOB* lette dai server di pagine e inserite nella cache dei dati dalla query, tramite read-ahead. **

* I tipi di dati LOB (Large Object Binary) includono le pagine text, ntext, image, varchar(max), nvarchar(max), varbinary(max)o columnstore index.

** Non zero solo per database SQL di Azure Hyperscale.

Osservazioni:

Quando STATISTICS IO è ATTIVATO, vengono visualizzate informazioni statistiche e, quando OFF, le informazioni non vengono visualizzate.

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

L'impostazione di viene impostata in fase di SET STATISTICS IO esecuzione o in fase di esecuzione e 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. Ciò può causare l'I/O SET STATISTICS per segnalare letture logiche superiori a quelle previste.

Autorizzazioni

Per usare SET STATISTICS IO, gli utenti devono disporre delle autorizzazioni appropriate per eseguire l'istruzione Transact-SQL. L'autorizzazione SHOWPLAN non è necessaria.

Esempi

In questo esempio viene illustrato il numero di operazioni di lettura logiche e fisiche usate da SQL Server per l'elaborazione delle istruzioni.

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

Ecco l'output del messaggio:

Table 'ProductCostHistory'. Scan count 1, logical reads 76, 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.