MARCIO CASTRO escreveu: > Mas a pergunta que não quer calar é a seguinte: porquê é que o > PL/pgSQL é tão mais lento do que o PL/SQL? > Não dá para comparar laranja com maça. Fiquei curioso em testar a sua função mas no momento não tenho um servidor Oracle para testá-la.
O Oracle com certeza deve ter um otimização para tal laço trivial; o PostgreSQL talvez esteja pecando nisso. [Fazendo alguns teste de performance...] A função function1() (versão em PL/PgSQL) e a function2() (versão em C) estão em anexo. Pelo que pude notar no oprofile, o problema está relacionado a alocação excessiva de contexto quando talvez não seja necessário. Estou sem tempo para investigar o problema agora mas eu reportei o que testei para -hackers [1]. euler=# select function1(); function1 ----------- 100000000 (1 row) Time: 62107,607 ms euler=# select function2(); function2 ----------- 100000000 (1 row) Time: 419,673 ms [1] http://archives.postgresql.org/pgsql-hackers/2009-09/msg01585.php PS> não responda em outros assuntos. Isso bagunça o histórico da lista e dificulta que estiver buscando no histórico posteriormente. -- Euler Taveira de Oliveira http://www.timbira.com/
a.tgz
Description: application/compressed-tar
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
