TOAST code ignores freespace (was Tweak TOAST code)

Поиск
Список
Период
Сортировка
Искать
От
Simon Riggs
Тема
TOAST code ignores freespace (was Tweak TOAST code)
Дата
в 09:46:04
Msg-id
1272804345.4161.31190.camel@ebony
Ответ на
Список
Дерево обсуждения
Re: TOAST code ignores freespace (was Tweak TOAST code) Tom Lane <tgl@sss.pgh.pa.us>
Re: TOAST code ignores freespace (was Tweak TOAST code) Simon Riggs <simon@2ndQuadrant.com>
Re: TOAST code ignores freespace (was Tweak TOAST code) Jan Wieck <JanWieck@Yahoo.com>
Re: TOAST code ignores freespace (was Tweak TOAST code) Simon Riggs <simon@2ndQuadrant.com>
On Wed, 2009-07-22 at 01:21 +0000, Tom Lane wrote:

> Tweak TOAST code so that columns marked with MAIN storage strategy are
> not forced out-of-line unless that is necessary to make the row fit on a
> page.  Previously, they were forced out-of-line if needed to get the row
> down to the default target size (1/4th page).

A comment from Selena made me notice this patch from last year.

I notice that this patch might result in longer rows in the heap, which
in many cases is good. For updates, it can result in a row too large to
fit on the current block and for us to move block to one in which it
will fit.

Not commenting further on that patch, but I notice that when we UPDATE
the toasting algorithm takes no account of the available freespace on
the current block. If we are updating and the space available would make
a difference to the row length chosen, it seems like it would be more
beneficial to trim the row and encourage HOT updates.

-- Simon Riggs           www.2ndQuadrant.com


В списке pgsql-hackers по дате отправления
От: Simon Riggs
Дата:
FAQ