In SQL Server è possibile utilizzare SET STATISTICS IO
per generare informazioni dettagliate sulla quantità di attività del disco generata da un'istruzione T-SQL.
In strumenti grafici come SSMS e Azure Data Studio, puoi visualizzare queste informazioni nei Messaggi scheda.
Esempio
Ecco un semplice esempio da dimostrare.
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;
Inizialmente, probabilmente vedrai i risultati della query come al solito:
Per visualizzare l'output di STATISTICS IO
, fai clic su Messaggi scheda:
Questo esempio è stato eseguito in Azure Data Studio ed è lo stesso processo quando si usa SSMS. Tuttavia, i passaggi effettivi che devi utilizzare possono dipendere dallo strumento che utilizzi per connetterti a SQL Server.
Di seguito è riportata una copia di STATISTICS IO
messaggio dallo screenshot sopra:
(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
Come spegnerlo
Impostazione di STATISTICS IO
su ON
influisce su tutte le istruzioni T-SQL successive finché non viene disattivata.
Per disattivarlo, eseguilo di nuovo usando OFF
invece di ON
:
SET STATISTICS IO OFF;