No SQL Server, você pode usar o
SET STATISTICS TIME
para exibir o tempo necessário para executar uma instrução T-SQL. Mais especificamente, ele retorna o número de milissegundos necessários para analisar, compilar e executar cada instrução.
Quando
SET STATISTICS TIME
está ON
, as estatísticas de tempo de uma instrução são exibidas. Quando OFF
, as estatísticas de tempo não são exibidas. A configuração de
SET STATISTICS TIME
é definido em tempo de execução ou execução e não em tempo de análise. Exemplo
Aqui está um exemplo simples para demonstrar.
SET STATISTICS TIME ON;
GO
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;
GO
Resultado:
Commands completed successfully. +-------------+------------+--------------+ | CityName | State | Population | |-------------+------------+--------------| | New York | New York | 8175133 | | Los Angeles | California | 3792621 | | Chicago | Illinois | 2695598 | | Brooklyn | New York | 2565635 | | Queens | New York | 2272771 | | Houston | Texas | 2099451 | +-------------+------------+--------------+ SQL Server parse and compile time: CPU time = 4 ms, elapsed time = 6 ms. Commands completed successfully.
Usando uma GUI?
Se você estiver executando sua consulta em uma GUI, como SSMS ou Azure Data Studio, talvez seja necessário clicar em Mensagens guia ou similar para visualizar as estatísticas de tempo.
Veja o que acontece quando executo a consulta anterior no Azure Data Studio.
Recebo os resultados, mas não há
STATISTICS TIME
em formação. Para visualizar essas informações, preciso clicar em Mensagens . Depois de fazer isso, posso ver as informações relevantes. Consultas subsequentes
Uma vez definido como
ON
, quaisquer consultas subsequentes retornarão o STATISTICS TIME
informações, até que seja definido como OFF
. Aqui está outra consulta ad hoc que executei na minha interface de linha de comando logo após a primeira.
SELECT COUNT(*) FROM Application.People;
Resultado:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ SQL Server parse and compile time: CPU time = 6 ms, elapsed time = 6 ms.
Eu já tinha definido
STATISTICS TIME
para ON
anteriormente, portanto, não há necessidade de fazê-lo novamente. Desligue
Para desativá-lo, basta configurá-lo para
OFF
. SET STATISTICS TIME OFF;
Agora, quando executo instruções T-SQL, não obtenho mais as estatísticas de tempo na consulta.
SELECT COUNT(*) FROM Application.People;
Resultado:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ (1 row affected)