[Pgsql-ayuda] PL

Alvaro Herrera alvherre@dcc.uchile.cl
Sat, 4 Oct 2003 16:32:16 -0400


On Sat, Oct 04, 2003 at 11:59:14AM -0300, Martin Marques wrote:
> Pregunto, cuando uno esta escribiendo en plpgsql, esas funciones quedan 
> precompiladas, o es lo mismo que si ejecutara las funciones directamente? Hay 
> algun tipo de optimizacion que se le hace a dichos queries? Algo tipo el 
> PREPARE.

Cuando haces CREATE FUNCTION la función se almacena como el texto que
ingresas.  Al momento de ejecutar la función por primera vez, se compila
y se guarda en un cache que dura toda la sesión, de manera que si la
invocas varias veces, las siguientes será más rápido porque no hay que
compilarla.  Pero en cuanto cierras la conexión, ese cache se pierde.

La situación con PREPARE es muy similar: el plan de ejecución se
almacena en un cache local a tu proceso servidor.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"On the other flipper, one wrong move and we're Fatal Exceptions"
(T.U.X.: Term Unit X  - http://www.thelinuxreview.com/TUX/)