OTIMIZAR CONSULTA EM MYSQL

DREAMSOFT 29/06/2010 14:22:04
#346070
Olá,

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á!
LLAIA 29/06/2010 17:40:33
#346092
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

Tópico encerrado , respostas não são mais permitidas