Ir para a pagina inicial dos Grupos do Google    LISTA PHP
[OFF] Mysql melhoria de performance

Vitor de Oliveira <vito...@gmail.com>

Boa tarde pessoal estou com o seguinte problema na geracao de um
relatorio,
o Mysql esta demorando muito tempo para retornar resposta.

Alguem sabe como eu poderia melhorar a performance??

Segue abaixo a sql:

SELECT
 d.oidTipo, t.nome as tipo, d.oidSubtipo, s.nome as subtipo,

 (select count(*)
 from denuncia de, encaminhamento en
 where en.oidDenuncia = de.oidDenuncia

and date(de.dataSistema)
BETWEEN date('2006-01-01') AND date('2006-01-12')

 and de.oidTipo = d.oidTipo
 and de.oidSubtipo = d.oidSubtipo
 and en.oidStatusRetorno = 3) as Improcedente,
 (select count(*)
 from denuncia de, encaminhamento en
 where en.oidDenuncia = de.oidDenuncia

and date(de.dataSistema)
BETWEEN date('2006-01-01') AND date('2006-01-12')

 and de.oidTipo = d.oidTipo
 and de.oidSubtipo = d.oidSubtipo
 and en.oidStatusRetorno = 4) as 'Não Informado',
 (select count(*)
 from denuncia de, encaminhamento en
 where en.oidDenuncia = de.oidDenuncia

and date(de.dataSistema)
BETWEEN date('2006-01-01') AND date('2006-01-12')

 and de.oidTipo = d.oidTipo
 and de.oidSubtipo = d.oidSubtipo
 and en.oidStatusRetorno = 5) as 'Parcialmente Procedente',
 (select count(*)
 from denuncia de, encaminhamento en
 where en.oidDenuncia = de.oidDenuncia

and date(de.dataSistema)
BETWEEN date('2006-01-01') AND date('2006-01-12')

 and de.oidTipo = d.oidTipo
 and de.oidSubtipo = d.oidSubtipo
 and en.oidStatusRetorno = 6) as Procedente

 from denuncia d
 inner join tipo t on (d.oidTipo = t.oidtipo)
 inner join tiposubtipo ts on (ts.oidtipo = t.oidtipo)
 inner join subtipo s on ((s.oidSubtipo = ts.oidSubtipo) and
(s.oidSubtipo = d.oidSubTipo))
 inner join encaminhamento e on (d.oidDenuncia = e.oidDenuncia)
WHERE date(d.dataSistema)
BETWEEN date('2006-01-01') AND date('2006-01-12')
GROUP BY d.oidSubtipo
ORDER BY t.nome,s.nome;