Em 05-02-2014 19:46, Matheus de Oliveira escreveu:
...
Sim, isso realmente poderia acontecer. Creio que o seu caso foi numa
versão anterior à 9.2, correto?
Na 9.2 o modelo de gerar plano de execução para "prepared statements"
mudou, e ficou bem melhor. Agora o plano é gerado no EXECUTE, quando
já são conhecidos os valores. Recomendo você a testar novamente essas
funções numa versão mais recente (9.2 ou 9.3) e verificar se o
comportamento ainda é o mesmo. Se o fizer, por favor compartilhe os
resultados com os colegas, ;-)...
Bingo!! Na época do caso, utilizávamos a versão 9.1. Migramos os
sistemas para a versão 9.3 neste final de semana. Mas a frente
realizarei alguns testes com as procedures antigas e posto os resultados
aqui.
Lembrando que estas ações podem dificultar a análise de um
problema futuro, pois o EXPLAIN não vai detalhar o conteúdo
interno executado na função e nem nos logs.
+1. Otimizar funções é uma tarefa bem árdua. Só uma dica, a
extensão auto_explain pode ajudar nessa tarefa. ;-)
Obrigado pela dica! Vou estudar a extensão para verificar sua
adoção em nosso ambiente.
É, na minha opinião, um pré-requisito para quem usa muitas funções.
Atenciosamente,
--
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres <http://www.dextra.com.br/postgres/>
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
Atenciosamente,
--
+--------------------------------------------------------------------------+
| Daniel Cordeiro de Morais Neto
| Diretor de TI - Portal de Cotações e-Compras
| Sócio-diretor ADM Soluções em Informática LTDA
| daniel.cordeiro(at)cotacoesecompras.com.br
| dmoraisn(at)gmail.com
| www.cotacoesecompras.com.br
| Fone: (083)8724-4440
| Gentoo User
| http://twitter.com/dmoraisn
+--------------------------------------------------------------------------+
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral