No SQL Server, você pode usar o
SET STATISTICS XML
para gerar informações detalhadas sobre como uma instrução T-SQL foi executada. Esta informação é fornecida na forma de um documento XML bem formado.
Uma vez
SET STATISTICS XML
está definido como ON
, cada instrução subsequente é refletida na saída por um único documento XML. Cada documento XML contém o texto da instrução, seguido pelos detalhes das etapas de execução.
A saída mostra informações de tempo de execução, como custos, índices acessados e tipos de operações executadas, ordem de junção, número de vezes que uma operação física é executada, número de linhas que cada operador físico produziu e muito mais.
Exemplo
Aqui está um exemplo simples para demonstrar.
SET STATISTICS XML 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;
Resultado:
Ao fazer isso usando uma ferramenta gráfica como SSMS ou Azure Data Studio (foto), você provavelmente verá um plano de consulta gráfico como o da captura de tela.
Nesse caso, você provavelmente poderá clicar em várias guias para ver os resultados reais, bem como outros dados estatísticos.
Veja o que acontece quando clico em Resultados aba:
Nesse caso, consigo ver os resultados reais, além de outra linha com o XML Showplan. Clicar nessa linha abre o documento XML em uma nova janela:
E aqui está o que acontece quando clico em Principais operações aba:
Como desativá-lo
Configurando
STATISTICS XML
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 XML OFF;
STATISTICS XML
Substitui STATISTICS PROFILE
De acordo com a documentação da Microsoft,
SET STATISTICS XML
deve ser usado em vez de SET STATISTICS PROFILE
.
SET STATISTICS PROFILE e SET STATISTICS XML são equivalentes um do outro. O primeiro produz saída textual; o último produz saída XML. Em versões futuras do SQL Server, as novas informações do plano de execução de consulta serão exibidas apenas por meio da instrução SET STATISTICS XML, não pela instrução SET STATISTICS PROFILE.
ESTATÍSTICAS XML vs Incluir Plano de Execução Real
Se Incluir Plano de Execução Real está selecionado no SSMS,
SET STATISTICS XML
não produz saída XML Showplan. Limpe o Incluir plano de execução real botão antes de usar SET STATISTICS XML
.