Re: Frage zur Volatilität von Funktionen

From: Peter Eisentraut <peter_e(at)gmx(dot)net>
To: "Matthias Zirngibl" <Matthias(dot)Zirngibl(at)rent-a-webdesigner(dot)com>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Frage zur Volatilität von Funktionen
Date: 2005-10-08 21:54:01
Message-ID: 200510082354.02430.peter_e@gmx.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Matthias Zirngibl wrote:
> Ich hätte eine Frage zur Volatilität
> (http://www.postgresql.org/docs/8.0/interactive/xfunc-volatility.html
>) von Funktionen.
> Auf welche Art speichert PG die Ergebnisse von gleichen Aufrufen?

Irgendwo im Speicher.

> Wäre es denkbar, eine Funktion, die als Immutable deklariert ist, aus
> Performance-Gründen zu nutzen, aber dennoch bei einer Änderunge der
> Datenquelle (über eine Funktion) einen "Refresh" des Aufrufes zu
> erzwingen? Also Beispielsweise einen Wert aus einer Tabelle lesen,
> der sich wirklich selten ändert...

Der einzige wahrnehmbare Unterschied zwischen einer immutable und einer
stable Funktion ist ja, dass erstere beim Planen ausgewertet wird und
zweitere einmalig beim Ausführen der Anfrage. Wenn du also mogelst und
sich die Basiswerte der immutable Funktion ändern, dann kannst du
einfach den Plan neu vorbereiten lassen (also PREPARE neu ausführen).

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

In response to

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Thomas Hoth 2005-10-11 18:32:07 Join bei Update
Previous Message Matthias Zirngibl 2005-10-08 21:20:01 Frage zur Volatilität von Funktionen