From: | "Albe Laurenz" <laurenz(dot)albe(at)wien(dot)gv(dot)at> |
---|---|
To: | "Bernd Helmle *EXTERN*" <mailings(at)oopsware(dot)de>, "Markus Wanner" <markus(at)bluegap(dot)ch> |
Cc: | "Tim Landscheidt" <tim(at)tim-landscheidt(dot)de>, <pgsql-de-allgemein(at)postgresql(dot)org> |
Subject: | RE: [pgsql-de-allgemein] Re: [pgsql-de-allgemein] RE: [pgsql-de-allgemein] In Funktion prüfen ob Zeile existiert |
Date: | 2008-08-06 09:07:52 |
Message-ID: | D960CB61B694CF459DCFB4B0128514C2025C468F@exadv11.host.magwien.gv.at |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-de-allgemein |
Bernd Helmle schrieb:
> > Im READ COMMITTED mode waere die Alternative noch, mit SELECT .. FOR
> > UPDATE zu testen, ob's solch ein Tuple schon gibt. Wenn ja, ein UPDATE
> > drauf, wenn nein den INSERT. Weniger performant als SERIALIZABLE
> > (pessimistic locking), aber Du sparst Dir damit evtl. den retry-loop in
> > der App (zumindest wenn Du auch noch darauf achtest, keine deadlocks zu
> > provozieren).
>
> In PostgreSQL sollte es eigentlich auf Datenbankebene keine Unterschiede zu
> beiden geben, geschwindigkeitsmäßig. Ich weiß, das SAVEPOINTs Shared
> Memory "fressen", aber "fressen" ist relativ. Wer sowas tausendfach in
> einer Schleife macht, muß damit rechnen, irgendwann an die Grenzen der
> Ressourcen zu stoßen. Dies innerhalb der Datenbank zu kapseln ist deutlich
> schöner als mit fehlerträchtigen Retry-Loops der Applikation zu spielen.
Nanana, das ist jetzt aber frei fabuliert.
Die Doku sagt:
A block containing an EXCEPTION clause is significantly more expensive
to enter and exit than a block without one.
Therefore, don't use EXCEPTION without need.
Daß da ein Memory Leak in der Datenbank ist, kann ich dem nicht entnehmen ...
Es ist mehr eine Performance-Angelegenheit.
Liebe Grüße,
Laurenz Albe
From | Date | Subject | |
---|---|---|---|
Next Message | Markus Wanner | 2008-08-06 09:10:15 | Re: [pgsql-de-allgemein] Re: [pgsql-de-allgemein] RE: [pgsql-de-allgemein] In Funktion prüfen ob Zeile existiert |
Previous Message | Albe Laurenz | 2008-08-06 08:30:29 | RE: [pgsql-de-allgemein] In Funktion prüfen ob Zeile existiert |