precisa ver se a query q criei pra vc atende sua necessidade.. eu acredito
que sim...
> Bom você deve rever os seus indicies, ver se os campos mais pesquisados
> estão devidamente indexados...
> E também dependendo da versão do mysql passe isso para stored... melhora
> bastante a performance.
> Vitor de Oliveira escreveu:
> > 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;