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