sql >> Databáze >  >> RDS >> Sqlserver

Co je STATISTICS IO v SQL Server?

V SQL Server můžete použít SET STATISTICS IO pro generování podrobných informací o množství aktivity disku generované příkazem T-SQL.

V grafických nástrojích, jako je SSMS a Azure Data Studio, můžete tyto informace zobrazit v části Zprávy kartu.

Příklad

Zde je jednoduchý příklad k demonstraci.

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;

Zpočátku pravděpodobně uvidíte výsledky dotazu jako obvykle:

Chcete-li zobrazit výstup STATISTICS IO , klikněte na Zprávy karta:

Tento příklad byl proveden v Azure Data Studio a je to stejný proces při použití SSMS. Skutečné kroky, které musíte použít, však mohou záviset na nástroji, který používáte pro připojení k serveru SQL.

Níže je kopie STATISTICS IO zpráva z výše uvedeného snímku obrazovky:

(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

Jak to vypnout

Nastavení STATISTICS IO na ON ovlivňuje všechny následující příkazy T-SQL, dokud není vypnut.

Chcete-li jej vypnout, jednoduše jej znovu spusťte pomocí OFF místo ON :

SET STATISTICS IO OFF;

  1. Jak převést hodnotu data/času na řetězec v SQL Server pomocí CONVERT()

  2. Jak zrušit omezení v SQL Server (T-SQL)

  3. Použití vzorů pracovních postupů ke správě stavu libovolné entity

  4. Chyba mySQL 1040:Příliš mnoho připojení