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.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? Abraços. Leandro Müller _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral