From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | Mario Gonzalez <mario(at)cfrd(dot)cl> |
Cc: | "pgsql-es-ayuda(at)postgresql(dot)org" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | Re: Comparacion Lenguajes Procedurales |
Date: | 2005-07-14 17:22:51 |
Message-ID: | 20050714172251.GF19778@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
On Thu, Jul 14, 2005 at 12:14:32PM -0400, Mario Gonzalez wrote:
> Holas, con la instalacion de PostgreSQL en Debian, por default viene
> con la opcion de usar 3 lenguajes procedurales: plperl.so, plpgsql.so y
> plpython.so.
>
> Mi consulta, la diferencia entre ellos es solamente el como programar
> o hay otras diferencias como por ejemplo la velocidad de procesamiento??
La diferencia en velocidad de procesamiento vendria mas que nada de la
velocidad del interprete -- mas alla de eso, todos ellos usan mas o
menos la misma infraestructura.
Una cosa que los hace diferentes es que plpgsql mantiene un cache de
planes de ejecucion de las sentencias de cada funcion. Puede ser
significativo, o puede que no. Por otro lado, no se si una funcion en
plperl o plpython se recompila con cada ejecucion; porque en plpgsql eso
no sucede, la funcion se compila solo una vez por cada sesion.
Supongo que podrias hacer mediciones al respecto. Un dato interesante
es usar preload_libraries para precargar los interpretes; esto haria que
la primera ejecucion de la funcion en cada sesion sea mucho mas rapida.
Si el rendimiento es de mucha importancia, puedes escribir funciones en C.
--
Alvaro Herrera (<alvherre[a]alvh.no-ip.org>)
"Si un desconocido se acerca y te regala un CD de Ubuntu ...
Eso es ... Eau de Tux"
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2005-07-14 17:25:35 | Re: Mostrar columnas de tabla determinada |
Previous Message | Pedro Vidaurre | 2005-07-14 17:11:07 | Postgres 8.x.x |