I SQL Server kan du använda SET STATISTICS IO
uttalande för att generera detaljerad information om mängden diskaktivitet som genereras av en T-SQL-sats.
I grafiska verktyg som SSMS och Azure Data Studio kan du se denna information i Meddelanden flik.
Exempel
Här är ett enkelt exempel att visa.
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;
Till en början kommer du förmodligen att se frågeresultaten som vanligt:
För att se utdata från STATISTICS IO
klickar du på Meddelanden tab:
Det här exemplet gjordes i Azure Data Studio, och det är samma process när du använder SSMS. Men de faktiska stegen du behöver använda kan bero på vilket verktyg du använder för att ansluta till SQL Server.
Nedan finns en kopia av STATISTICS IO
meddelande från ovanstående skärmdump:
(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
Hur man stänger av det
Inställning av STATISTICS IO
till ON
påverkar alla efterföljande T-SQL-satser tills den stängs av.
För att stänga av det, kör det helt enkelt igen med OFF
istället för ON
:
SET STATISTICS IO OFF;