eu tenho um subselect que demora quaze 20 minutos para completar a consulta, ele usa de 2 subqueries , gostaria de saber se há um metodo que substitua essas 2 subqueries que estão sendo usadas.
Query:
SELECT DISTINCT on (q.agent)
rm.nome asAgent,(Select count(event)from queue_log
where(event LIKE '%ABANDON%')
AND
CASE
WHEN ${prmIntervalo}='4' THEN time::date between to_date(${prmDataInicial},'YYYY-mm-dd')and to_date(${prmDataFinal},'YYYY-mm-dd')
WHEN ${prmIntervalo}='1' THEN time::date = CURRENT_DATE -1
WHEN ${prmIntervalo}='2' THEN time::date = CURRENT_DATE -7
WHEN ${prmIntervalo}='3' THEN time::date = CURRENT_DATE -30END
AND
queuename = q.queuename
)as perdida,(Select count(event)from queue_log
where(event LIKE '%COMPLETE%')
AND
CASE
WHEN ${prmIntervalo}='4' THEN time::date between to_date(${prmDataInicial},'YYYY-mm-dd')and to_date(${prmDataFinal},'YYYY-mm-dd')
WHEN ${prmIntervalo}='1' THEN time::date = CURRENT_DATE -1
WHEN ${prmIntervalo}='2' THEN time::date = CURRENT_DATE -7
WHEN ${prmIntervalo}='3' THEN time::date = CURRENT_DATE -30END
AND agent = q.agent
)asAtendida,(Select count(event)from queue_log
whereevent='TRANSFER'
AND
CASE
WHEN ${prmIntervalo}='4' THEN time::date between to_date(${prmDataInicial},'YYYY-mm-dd')and to_date(${prmDataFinal},'YYYY-mm-dd')
WHEN ${prmIntervalo}='1' THEN time::date = CURRENT_DATE -1
WHEN ${prmIntervalo}='2' THEN time::date = CURRENT_DATE -7
WHEN ${prmIntervalo}='3' THEN time::date = CURRENT_DATE -30END
AND agent = q.agent
)asTransferida,
q.queuename as queuename
FROM
queue_log q
INNER JOIN
f_ramal_virtual rm ON rm.ramal_virtual = q.agent
WHERE
q.event!='RINGNOANSWER'
AND
CASE
WHEN NULLIF(${prmNomeFila},NULL)is NOT NULL THEN (q.queuename = ${prmNomeFila})END
AND
CASE
WHEN ${prmIntervalo}='4' THEN time::date between to_date(${prmDataInicial},'YYYY-mm-dd')and to_date(${prmDataFinal},'YYYY-mm-dd')
WHEN ${prmIntervalo}='1' THEN time::date = CURRENT_DATE -1
WHEN ${prmIntervalo}='2' THEN time::date = CURRENT_DATE -7
WHEN ${prmIntervalo}='3' THEN time::date = CURRENT_DATE -30END
Utilizamos cookies e tecnologias semelhantes de acordo com a nossa Política de Privacidade, e ao continuar navegando, você concorda com estas condições.
Pergunta
Matheus Suffi
eu tenho um subselect que demora quaze 20 minutos para completar a consulta, ele usa de 2 subqueries , gostaria de saber se há um metodo que substitua essas 2 subqueries que estão sendo usadas.
Query:
Editado por Kakaoformatação de código
Link para o comentário
Compartilhar em outros sites
2 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.