Skip site navigation (1) Skip section navigation (2)

Peripheral Links

Header And Logo

PostgreSQL
| The world's most advanced open source database.

Site Navigation

Search for
  Advanced Search

Re: Haeufige Updates in Tabelle mit vielen/breiten Spalten



Hallo,

-- Andreas Seltenreich <andreas+pg(at)gate450(dot)dyndns(dot)org> wrote:

> Alvar Freude writes:
> 
>> Wenn Postgres ein Update auf eine Spalte macht, wird aufgrund der
>> Transaktionen immer eine komplette Kopie der Spalte angelegt. (wenn ich
>> mich nun nicht irre)
> 
> s/Spalte/Zeile/, da MVCC ja Zeilenweise agiert.

ähm, natürlich, so war das auch gemeint, das war ein Vertipper, denn
bei Spaltenweise gäbe es die Frage ja auch gar nicht ;-)


> Wenn die Text-Felder groß genug sind (> 2kB IIRC), wird darin nur ein
> Zeiger auf die passende Toast-Tabelle abgelegt. MVCC-Kopien werden in
> dem Fall dann nur von den verbleibenden Zeigern gemacht, und nicht von
> Inhalt der Toast-Tabellen.

stimmt, hatte ich ganz vergessen.


> Also ich hatte durchaus schon Fälle, in denen man gerade so unter der
> Toast-Grenze lag, und dadurch in rasantem Tempo tote Seiten produziert
> wurden. Hier lohnte es sich dann, "manuell zu toasten".

genau das meinte ich

Wenn sich mittendrin dauernd dicke Lücken auftun, ist dies ja auch nicht
wirklich sinnvoll.


> Sollte einklich unproblematisch sein, da genau das impliziert wird,
> wenn Postgres sich für's toasten entscheidet.

viel ist es nicht, aber auch ein einfacher Join kostet eben ein paar
Mikrosekunden ;) -- und die Daten etwas mehr Speicher.


Ciao
  Alvar


-- 
** Alvar C.H. Freude, http://alvar.a-blast.org/
** http://www.wen-waehlen.de/
** http://odem.org/
** http://www.assoziations-blaster.de/

Attachment: pgperNUiE9K5A.pgp
Description: PGP signature



Home | Main Index | Thread Index

Privacy Policy | PostgreSQL Archives hosted by Command Prompt, Inc. | Designed by tinysofa
Copyright © 1996 – 2008 PostgreSQL Global Development Group