Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

O que é STATISTICS IO no SQL Server?


No SQL Server, você pode usar o SET STATISTICS IO para gerar informações detalhadas sobre a quantidade de atividade de disco gerada por uma instrução T-SQL.

Em ferramentas gráficas como SSMS e Azure Data Studio, você pode visualizar essas informações em Mensagens aba.

Exemplo


Aqui está um exemplo simples para demonstrar.
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;

Inicialmente, você provavelmente verá os resultados da consulta normalmente:

Para visualizar a saída de STATISTICS IO , clique em Mensagens aba:

Este exemplo foi feito no Azure Data Studio e é o mesmo processo ao usar o SSMS. No entanto, as etapas reais que você precisa usar podem depender da ferramenta usada para se conectar ao SQL Server.

Abaixo está uma cópia do STATISTICS IO mensagem da captura de tela acima:
(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

Como desativá-lo


Configurando STATISTICS IO para ON afeta todas as instruções T-SQL subsequentes até que seja desativado.

Para desativá-lo, basta executá-lo novamente usando OFF em vez de ON :
SET STATISTICS IO OFF;