2009/9/1 Leandro Müller <[email protected]>:
> Ola Turma.
>
> Estou tentando gerar uma consulta de soma em um intervalo de 30 dias, são 
> vários registros para calcular, podem esta demorando em torno de 15 minutos, 
> creio eu que não poderia demorar tanto assim, pois são em torno de 4 mil 
> registros dentro da tabela saida2.
>
> SELECT
>  (
> SELECT
>    sum(saida2.quantidade)
> FROM
>     public.saida1 saida1 INNER JOIN public.saida2 saida2 ON saida1.id_saida1 
> = saida2.id_saida1
>     INNER JOIN public.unidade unidade ON saida1.id_unidade = 
> unidade.id_unidade
>     INNER JOIN public.lote lote ON saida2.id_lote = lote.id_lote
> WHERE
>     saida1.data >=$P{dataInicial}
> and      saida1.data <=$P{dataFinal}
>  AND unidade.id_municipio = $P{idMunicipio} and 
> lote.id_principio_ativo=principio_ativo.id_principio_ativo) as saida,
>
> (SELECT
>     sum(entrada2.quant_entrada)
> FROM
>     public.entrada1 entrada1 INNER JOIN public.entrada2 entrada2 ON 
> entrada1.id_entrada1 = entrada2.id_entrada1
>     INNER JOIN public.unidade unidade ON entrada1.id_unidade = 
> unidade.id_unidade
>     INNER JOIN public.lote lote ON entrada2.id_lote = lote.id_lote
> WHERE
>    entrada1.data_entrada >=$P{dataInicial}
> and     entrada1.data_entrada <=$P{dataFinal} and unidade.id_municipio = 
> $P{idMunicipio}
> and lote.id_principio_ativo=principio_ativo.id_principio_ativo) as entrada
>
> FROM
>     public.principio_ativo principio_ativo inner join grupo_farmacologico on

"principio_ativo" estar duplicado foi só um erro de digitação ou é
para ser um produto cartesiano mesmo?


>  principio_ativo.id_grupo_farmacologico=grupo_farmacologico.id_grupo_farmacologico
>  inner join
> municipio on municipio.id_municipio=grupo_farmacologico.id_municipio
> where grupo_farmacologico.id_municipio=$P{idMunicipio}
>
> Existe índice para as datas e as chaves fk.
>
> Alguem tem alguma sugestão para melhorar a performace?


Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a