Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Какво е STATISTICS IO в SQL Server?

В SQL Server можете да използвате SET STATISTICS IO оператор за генериране на подробна информация за количеството дискова активност, генерирана от T-SQL оператор.

В графичните инструменти като SSMS и Azure Data Studio можете да видите тази информация в Съобщения раздел.

Пример

Ето един прост пример за демонстрация.

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;

Първоначално вероятно ще видите резултатите от заявката както обикновено:

За да видите изхода на STATISTICS IO , щракнете върху Съобщения раздел:

Този пример е направен в Azure Data Studio и е същият процес при използване на SSMS. Въпреки това действителните стъпки, които трябва да използвате, може да зависят от инструмента, който използвате за свързване към SQL Server.

По-долу е копие на STATISTICS IO съобщение от горната екранна снимка:

(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

Как да го изключим

Настройка на STATISTICS IO до ON засяга всички следващи T-SQL изрази, докато не бъде изключен.

За да го изключите, просто го стартирайте отново, като използвате OFF вместо ON :

SET STATISTICS IO OFF;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво е базата данни, защо база данни?

  2. Упътване:Настройка на висока наличност на SQL Server

  3. Какъв е еквивалентът на bigint в C#?

  4. SQL Server CASE Expression

  5. sp_executesql е бавен с параметри