2009/9/1 Leandro Müller <leandr...@muriki.com.br>:
> Utilizei o query designer do ireport, por isso ele apenas repetiu o alias
>
> -----Mensagem original-----
> De: pgbr-geral-boun...@listas.postgresql.org.br
> [mailto:pgbr-geral-boun...@listas.postgresql.org.br] Em nome de Osvaldo
> Kussama
> Enviada em: terça-feira, 1 de setembro de 2009 21:58
> Para: Comunidade PostgreSQL Brasileira
> Assunto: Re: [pgbr-geral] sugestão para melhorar performace da consulta
>
> 2009/9/1 Leandro Müller <leandr...@muriki.com.br>:
>> 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_farmaco
> logico 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?
>


Oops! Desculpe. Falha de leitura.

Osvaldo
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a