Обсуждение: function result cache for pl/pgsql

Поиск
Список
Период
Сортировка

function result cache for pl/pgsql

От
Peter Manchev
Дата:
I was thinking about pl/pgsql and comparing it with pl/sql function result cache,
featured in Oracle 11g - see

http://www.oracle.com/technology/oramag/oracle/07-sep/o57plsql.html

Is it possible to get pl/pgsql function result cache functionality into PostgreSQL?

I am not that familiar with the pgsql internals to hack this only by myself.

Best,
Pete

_________________________________________________________________
Help yourself to FREE treats served up daily at the Messenger Café. Stop by today.
http://www.cafemessenger.com/info/info_sweetstuff2.html?ocid=TXT_TAGLM_OctWLtagline

Re: function result cache for pl/pgsql

От
"Pavel Stehule"
Дата:
2007/10/24, Peter Manchev <pmanchev@hotmail.com>:
>
> I was thinking about pl/pgsql and comparing it with pl/sql function result cache,
> featured in Oracle 11g - see
>
> http://www.oracle.com/technology/oramag/oracle/07-sep/o57plsql.html
>
> Is it possible to get pl/pgsql function result cache functionality into PostgreSQL?

plpgsql doesn't allow access to shared memory now. You can use plper
for caching some resuts. I am not sure if result cache is generally
accaptable technique, but I thing, I can write similar functionality
for orafce

if you need anything hurry, use plperl
http://www.postgresql.org/docs/8.2/interactive/plperl-global.html and
$_SHARED array.

Regards
Pavel Stehule

Re: function result cache for pl/pgsql

От
Peter Manchev
Дата:
IMHO, pl/perl;s global hash %_SHARED does not provide the same performance.

With pl/perl with some data cached we will get getter performance, that is sure, but the body of the function will be
evaluatedanyway, so there will be some miliseconds lost.  

On the other hand, the body of a function with in-memory result cache clause will not be evaluated if the supplied
arguments'result is already cached, and the function will just instantly return the result - which is the timesaver.  

So, I would prefer to have such function clause implemented in pgsql, maybe as add-on.

Best,
Peter
_________________________________________________________________
Peek-a-boo FREE Tricks & Treats for You!
http://www.reallivemoms.com?ocid=TXT_TAGHM&loc=us