ÊTA!!!

  Colega, no mundo Oracle, é comum termos centenas de milhares de linhas 
escritas em PL/SQL. Esta linguagem é uma das coisas mais legais deste banco.
  Sua funcionalidade não se restringe a fazer apenas SELECT's, mas aplicações 
completas utilizando a mesma. Isto significa TELAS (Forms), RELATÓRIOS 
(Reports), envio de e-mails (DBMS_SMTP), QUEUES (DBMS_AQ) ou CUBOS (DBMS_CUBE), 
e mais uma infinidade de outras coisas utilizando loops.
  Recentemente, a Oracle comprou um ERP (E-Business Suíte) formado por mais de 
20 milhões de linhas nesta linguagem.
  Os exemplos que foram passados foram formulados devido à problemas de 
performance que eu encontrei após passar um pacote especificamente escrito em 
PL/SQL para PL/pgSQL. Tal pacote é composto de diversas funções e, depois de 
alguns testes, separei do código o que estava demorando mais: um loop e uma 
recursividade.
  Entendeu agora?
  Munha intenção não é comparar nada, mas resolver um problema de performance 
no PL/pgSQL. A diferença foi tão absurda que eu achei que tinha um problema na 
máquina ou na instalação do Post, e então, recorrí à esta lista. Entendido que 
o problema está na PL/pgSQL, e nada pode ser feito, a conclusão é óbvia: não 
vou poder fazer isto nesta linguagem, E ACABOU!
  
  MAS se o Sr. quiser comparar benchmarks, talveza saída seja o TPC 
(http://www.tpc.org/). Numa olhada rápida, encontrei Sybase, MySQL, DB2, 
Oracle, EXASOL, SQL Server, ParAccel, Teradata, mas não encontrei nada do Post. 
  OU o senhor mesmo pode me passar, através desta lista, ou diretamente ao meu 
e-mail, os testes que o senhor julgar significativos, e eu  os executarei aquí 
na empresa.
  

Atenciosamente,

Márcio de Figueiredo Moura e Castro




________________________________
De: Euler Taveira de Oliveira <[email protected]>
Para: Comunidade PostgreSQL Brasileira <[email protected]>
Enviadas: Sexta-feira, 25 de Setembro de 2009 1:15:11
Assunto: Re: [pgbr-geral] Res:  Res:  Res: Memory (heap)

MARCIO CASTRO escreveu:
>   Muito obrigado pelo seu esforço em me ajudar, mas entenda que me foi
> vendida a idéia de que eu poderia portar todos os programas em PL/SQL
> para PL/pgSQL, e, além disto não ser verdade, a performance mostrou-se
> muito ruim - para os testes que eu realizei.
As linguagens possuem sintaxes bem similares; é claro, que as particularidades
do Oracle embutidas na PL/SQL você terá que reescrever. Não há almoço grátis. ;)

As suas funções em PL/PgSQL serão tão irreais quanto a que você apresentou? É
como o Tom disse na outra lista: plpgsql foi desenhada para cenários onde há
bastante acesso a dados.

Particularmente eu acho muito difícil tu comparares laranja com maça. Até
porque se tu montares um teste querendo comparar puramente a velocidades dos
motores das duas linguagens vais ter que desconsiderar as diferenças de tempo
com relação ao acesso aos dados.

>   Ok; compilando em C fica mais rápido, mas você testou em qual máquina?
No meu notebook (Pentium M 1.86 GHz). A execução da função em questão é
puramente CPU-bound, ou seja, quanto mais poderosa a sua CPU mais rápido será
a execução. A mesma função em PL/Perl executou em ~ 25 segundos.

>   Tentei depois com uma outra função, desta vez para calcular o
> fibonacci, mas o resultado também foi bem mais favorável ao Oracle.
>   Esta situação "quebrou as minhas pernas" - adeus projeto integrado
> Postgres/Oracle. Ou, pelo menos, por enquanto.
> 
Acho que você *não* está fazendo um comparação justa. Digo isso porque a
principal vantagem de ter funções no SGBD é justamente tirar proveito do
acesso aos dados. Sugiro que realize testes mais sérios antes de ficar tirar
conclusões utilizando apenas um caso que está muito longe de fazer parte de
qualquer tipo de aplicação real.


-- 
  Euler Taveira de Oliveira
  http://www.timbira.com/
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral



      
____________________________________________________________________________________
Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a