Sou iniciante em banco de dados, estou trabalhando a pouco tempo na área e me deparei com um problema de performance ao executar uma query.
Eu criei um painel de monitoração que fica executando essa query para trazer alguns dados de 10 em 10 segundos.
Segue o código abaixo:
DECLARE @DataIni datetime
SELECT @DataIni = CONVERT(varchar(4),DATEPART(YEAR,GETDATE()))+'-'+CONVERT(varchar(2),DATEPART(MONTH,GETDATE()))+'-'++CONVERT(varchar(2),DATEPART(DAY,GETDATE()))+' '+'00:00:00'
SELECT Chamado.SolID,
Chamado.SolData Abertura,
HR.Data TransPrimeiroNivel,
HR.DataAssumido Assumido,
dbo.Function_FormataHoraMinutoSegundo(DATEDIFF(SECOND, HR.Data,HR.DataAssumido)) Tempo
FROM
HistoricoResponsavel HR (NOLOCK)
INNER JOIN Solicitacao Chamado (NOLOCK) ON (Chamado.SolID = HR.SolID)
WHERE
HR.Data BETWEEN @DataIni AND (SELECT GETDATE())
AND HR.UsuID = 3
ORDER BY Tempo DESC
Eu sei que o problema está na conversão da data inicial, pois se eu informar a data inicial ele executa em menos de 1 segundo. Esse painel deve ser dinâmico e a cada dia ele deve buscar os dados entre primeira hora do dia atual até o momento atual, ou seja, das '00:00:00' até o GETDATE().
Existe alguma outra solução que não afete a performance da query? A mesma está demorando em torno de 10 a 15 segundos para executar.
Question
sebola
Bom dia a todos,
Sou iniciante em banco de dados, estou trabalhando a pouco tempo na área e me deparei com um problema de performance ao executar uma query.
Eu criei um painel de monitoração que fica executando essa query para trazer alguns dados de 10 em 10 segundos.
Segue o código abaixo:
Eu sei que o problema está na conversão da data inicial, pois se eu informar a data inicial ele executa em menos de 1 segundo. Esse painel deve ser dinâmico e a cada dia ele deve buscar os dados entre primeira hora do dia atual até o momento atual, ou seja, das '00:00:00' até o GETDATE().
Existe alguma outra solução que não afete a performance da query? A mesma está demorando em torno de 10 a 15 segundos para executar.
Obrigado a todos
Att,
Edited by sebolaLink to comment
Share on other sites
4 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.