Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Was ist STATISTICS IO in SQL Server?

In SQL Server können Sie das SET STATISTICS IO verwenden -Anweisung, um detaillierte Informationen über den Umfang der von einer T-SQL-Anweisung generierten Festplattenaktivität zu generieren.

In grafischen Tools wie SSMS und Azure Data Studio können Sie diese Informationen in den Nachrichten anzeigen Registerkarte.

Beispiel

Hier ist ein einfaches Beispiel zur Veranschaulichung.

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;

Anfangs sehen Sie wahrscheinlich die Abfrageergebnisse wie gewohnt:

Um die Ausgabe von STATISTICS IO anzuzeigen , klicken Sie auf Nachrichten Registerkarte:

Dieses Beispiel wurde in Azure Data Studio durchgeführt, und es ist derselbe Prozess bei der Verwendung von SSMS. Die tatsächlichen Schritte, die Sie verwenden müssen, können jedoch von dem Tool abhängen, das Sie zum Herstellen einer Verbindung mit SQL Server verwenden.

Unten ist eine Kopie des STATISTICS IO Nachricht aus obigem Screenshot:

(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

Wie man es ausschaltet

Setzen von STATISTICS IO auf ON wirkt sich auf alle nachfolgenden T-SQL-Anweisungen aus, bis es deaktiviert wird.

Um es auszuschalten, führen Sie es einfach erneut mit OFF aus statt ON :

SET STATISTICS IO OFF;