23 segundo para executar query
Oi pessoal beleza?
Essa minha query está levando em média 23 segundo para executar, alguem consegue enxergar algum error ou alguma forma de melhorar o desempenho?
SELECT tblORD.ordem_judicial,
if(tblIDE.id_solicitacao is NULL, tblINT.id_solicitacao, tblIDE.id_solicitacao) as solicitacao,
tipo,
tblSER.servico,
usuario_encontrado,
ip,
data_tratamento as DataEntrada ,
if(tbIDEDataInicio.dataInicio is NULL, tbINTDataInicio.dataInicio, tbIDEDataInicio.dataInicio) as DataInicio,
if(tbIDEDataFim.dataFim is NULL, tbINTDataFim.dataFim, tbIDEDataFim.dataFim) as DataFim,
if(tblIDE.analista is NULL, tblINT.analista, tblIDE.analista) as analista,
if(tbIDEDataInicio.dataInicio is NULL, TIMEDIFF(tbINTDataFim.dataFim, tbINTDataInicio.dataInicio), TIMEDIFF(tbIDEDataFim.dataFim, tbIDEDataInicio.dataInicio)) as tempo,
if(TIME_TO_SEC(if(tbIDEDataInicio.dataInicio is NULL, TIMEDIFF(tbINTDataFim.dataFim, tbINTDataInicio.dataInicio), TIMEDIFF(tbIDEDataFim.dataFim, tbIDEDataInicio.dataInicio))) > 259200, 'Fora do Prazo', 'No Prazo') as indicador
FROM tbl_Servicos as tblSER
INNER JOIN tbl_ordem_judicial AS tblORD
LEFT JOIN tbl_Identificacao_Usu as tblIDE on tblIDE.fk_ordem_judicial = tblORD.id_ordem
LEFT JOIN tbl_Interceptacao_Usu as tblINT on tblINT.fk_ordem_judicial = tblORD.id_ordem
LEFT JOIN tbl_TOJ_Identificacao as tblTIDE on tblTIDE.fk_id_solicitacao = tblIDE.id_solicitacao
LEFT JOIN tbl_TOJ_Interceptacao as tblTINT on tblTINT.fk_id_solicitacao = tblINT.id_solicitacao
left join (
select fk_id_solicitacao, min(concat(data_modificacao,' ',hora_modificacao)) as dataInicio
from tbl_Historico
where fk_status = 2
group by fk_id_solicitacao) as tbIDEDataInicio on tbIDEDataInicio.fk_id_solicitacao = tblIDE.id_solicitacao
left join (
select fk_id_solicitacao, max(concat(data_modificacao,' ',hora_modificacao)) as dataFim
from tbl_Historico
where fk_status = 7
group by fk_id_solicitacao) as tbIDEDataFim on tbIDEDataFim.fk_id_solicitacao = tblIDE.id_solicitacao
left join (
select fk_id_solicitacao, min(concat(data_modificacao,' ',hora_modificacao)) as dataInicio
from tbl_Historico
where fk_status = 2
group by fk_id_solicitacao) as tbINTDataInicio on tbINTDataInicio.fk_id_solicitacao = tblINT.id_solicitacao
left join (
select fk_id_solicitacao, max(concat(data_modificacao,' ',hora_modificacao)) as dataFim
from tbl_Historico
where fk_status = 7
group by fk_id_solicitacao) as tbINTDataFim on tbINTDataFim.fk_id_solicitacao = tblINT.id_solicitacao
WHERE (tblTIDE.tipo_servico = tblSER.id_servico or tblTINT.tipo_servico = tblSER.id_servico)Discussão (3)
Carregando comentários...