Na saída de sp_WhoIsActive
, colunas como leituras, gravações, CPU e wait_info são cumulativas para a sessão ou apenas cumulativas para o lote? Temos uma consulta que está bloqueando muito e mostrando milhões de leituras, mas quando executo as oito consultas no lote do SSMS, as leituras estão em um dígito, então estou tentando entender se algo diferente está ocorrendo com o maneira como o aplicativo o está executando para fazer com que ele leia muito mais.
Ou pode ser algo diferente? Percebo que a sessão tem 2 transações abertas. Essas estatísticas podem representar todas as transações que a sessão tem atualmente ativas?
sp_WhoIsActive
relata leituras, gravações e CPU no nível de lote em oposição ao nível de sessão. Isso é algo que pode ser testado.O ID de sessão 57 tem o seguinte código em apenas um único lote:
O ID de sessão 56 tem o mesmo código, mas dividido em dois lotes:
Aqui está uma captura de tela de sp_whoisactive depois que as duas sessões estiverem em execução por alguns segundos:
Como você pode ver, essas colunas são redefinidas na ID de sessão 56 porque
GO
define um novo lote.As esperas não estão no nível do lote ou da sessão. É um instantâneo em tempo real do que está acontecendo com a consulta. Não é incomum ver a
wait_info
coluna alterar os tipos de espera ou as durações enquanto uma consulta está em execução.Sua pergunta final é um pouco geral demais para que eu tente responder, mas você pode tentar ler este recurso .