SET STATISTICS IO (Transact-SQL)

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Faz o SQL Server exibir informações referentes à quantidade de atividade de E/S física e lógica gerada pelas instruções Transact-SQL. A E/S física está relacionada ao acesso a páginas de dados no disco, e a E/S lógica está relacionada ao acesso a páginas de dados na memória (cache de dados).

Convenções de sintaxe de Transact-SQL

Sintaxe

  
SET STATISTICS IO { ON | OFF }  

Observação

Para exibir a sintaxe do Transact-SQL para o SQL Server 2014 (12.x) e versões anteriores, confira a Documentação das versões anteriores.

Comentários

Quando STATISTICS IO está definida como ON, as informações estatísticas são exibidas. Quando está definida como OFF, as informações não são exibidas.

Depois que essa opção é definida como ON, todas as instruções Transact-SQL retornam a informações de estatística até que a opção seja definida como OFF.

A tabela a seguir lista e descreve os itens de saída.

Item de saída Significado
Table Nome da tabela.
Contagem de verificações Número de buscas ou exames iniciados depois de alcançar o nível folha em qualquer direção para recuperar todos os valores para construir o conjunto de dados final para a saída.

A contagem de exame será 0 se o índice usado for um índice exclusivo ou índice clusterizado em uma chave primária e se você estiver buscando somente um valor. Por exemplo, WHERE Primary_Key_Column = <value>.

A contagem da verificação será 1 quando você estiver pesquisando um valor usando um índice clusterizado não exclusivo definido em uma coluna de chave não primária. Esse processo é feito para verificar se há valores duplicados para o valor de chave para o qual você está pesquisando. Por exemplo, WHERE Clustered_Index_Key_Column = <value>.

A contagem de exame será N quando N for o número de buscas ou exames diferente iniciado para a esquerda ou para a direita no nível folha depois de localizar um valor de chave usando a chave de índice.
leituras lógicas Número de páginas lidas do cache de dados.
physical reads Número de páginas lidas do disco.
leituras antecipadas Número de páginas colocadas no cache para a consulta.
leituras lógicas lob Número de páginas lidas do cache de dados. Inclui text, ntext, image, varchar(max), nvarchar(max), varbinary(max) ou páginas de índice columnstore.
leituras físicas lob Número de páginas lidas do disco. Inclui text, ntext, image, varchar(max), nvarchar(max), varbinary(max) ou páginas de índice columnstore.
leituras antecipadas lob Número de páginas colocadas no cache para a consulta. Inclui text, ntext, image, varchar(max), nvarchar(max), varbinary(max) ou páginas de índice columnstore.

A configuração de SET STATISTICS IO é definida no momento da execução e não no momento da análise.

Observação

Quando instruções Transact-SQL recuperam colunas LOB, algumas operações de recuperação de LOB podem requerer cruzamento de árvore de LOB várias vezes. Isso pode fazer com que SET STATISTICS IO informe um número maior de leituras lógicas do que o esperado.

Permissões

Para usar SET STATISTICS IO, os usuários devem ter as permissões apropriadas para executar a instrução Transact-SQL. A permissão SHOWPLAN não é exigida.

Exemplos

Este exemplo mostra quantas leituras lógicas e físicas são usadas pelo SQL Server à medida que processa as instruções.

USE AdventureWorks2022;  
GO         
SET STATISTICS IO ON;  
GO  
SELECT *   
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;  
GO  
SET STATISTICS IO OFF;  
GO  

Este é o conjunto de resultados:

Table 'ProductCostHistory'. Scan count 1, logical reads 5, physical   
reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0,   
lob read-ahead reads 0.  

Consulte Também

Instruções SET (Transact-SQL)
SET SHOWPLAN_ALL (Transact-SQL)
SET STATISTICS TIME (Transact-SQL)