OTIMIZAR CONSULTA EM MYSQL
Olá,
Alguém saberia dizer se é possÃvel otimizar a seguinte consulta?
Obrigado desde já!
Alguém saberia dizer se é possÃvel otimizar a seguinte consulta?
SELECT
interacoes.id_interacoes,
reclamacoes.id_reclamacao,
reclamacoes.numero_pedido,
reclamacoes.cliente_reclamacao,
reclamacoes.assunto_reclamacao,
reclamacoes.departamento,
reclamacoes.data_registro,
reclamacoes.hora_registro,
interacoes.conteudo,
reclamacoes.status_reclamacao,
interacoes.data AS DATA ,
interacoes.hora AS HORA,
interacoes.departamento_destino,
interacoes.tipo_interacao,
CONCAT( interacoes.data, \[Ô] \[Ô], interacoes.hora ) + INTERVAL 24 HOUR AS DATA_LIMITE_TEMPO
FROM reclamacoes
INNER JOIN interacoes ON reclamacoes.id_reclamacao = interacoes.id_reclamacao
WHERE (status_reclamacao = [ô]Aberta[ô]
OR status_reclamacao = [ô]Respondida[ô])
AND (status_atual = [ô]Encaminhada[ô] OR status_atual = [ô]Reencaminhada[ô])
AND tipo_interacao<>[ô]Retornada[ô]
AND origem=[ô]SAC[ô]
AND CONCAT( interacoes.data, \[Ô] \[Ô], interacoes.hora ) + INTERVAL 24 HOUR < now( )
AND id_interacoes
IN (
SELECT MAX( id_interacoes )
FROM interacoes
WHERE (departamento_origem= [ô]Atendimento[ô] OR departamento_origem= [ô][Ô].$_SESSION[tipo].[Ô][ô]) AND (departamento_destino= [ô][Ô].$_SESSION[tipo].[Ô][ô] OR departamento_destino= [ô]Atendimento[ô])
GROUP BY id_reclamacao
);
Obrigado desde já!
Bom, se puder tente eliminar aquela concatenaçõ de data com hora, colocando as duas informações num campo só. Vc colocou Ãndices nas chaves estrangeiras? Ajuda bastante.
essas condições abaixo, poderiam ser simplificadas crianda uma identificação como se fosse uma classe paras as condições semelhantes:
[txt-color=#007100]WHERE (status_reclamacao = [ô]Aberta[ô]
OR status_reclamacao = [ô]Respondida[ô])
AND (status_atual = [ô]Encaminhada[ô] OR status_atual = [ô]Reencaminhada[ô])
[/txt-color][txt-color=#0000f0]AND tipo_interacao<>[ô]Retornada[ô][/txt-color]
ou seja, a modelagem do banco sendo modificada pode melhorar o desempenho
essas condições abaixo, poderiam ser simplificadas crianda uma identificação como se fosse uma classe paras as condições semelhantes:
[txt-color=#007100]WHERE (status_reclamacao = [ô]Aberta[ô]
OR status_reclamacao = [ô]Respondida[ô])
AND (status_atual = [ô]Encaminhada[ô] OR status_atual = [ô]Reencaminhada[ô])
[/txt-color][txt-color=#0000f0]AND tipo_interacao<>[ô]Retornada[ô][/txt-color]
ou seja, a modelagem do banco sendo modificada pode melhorar o desempenho
Tópico encerrado , respostas não são mais permitidas