On 8/8/07, Simon Riggs <[EMAIL PROTECTED]> wrote:
> I see why you think that, but it is really just the first update that is
> cold. All further updates on that block will be able to re-use the dead
> row left by the first update. If they can't they will spread out to
> other blocks where they will eventually have sufficiently reduced
> contention to allow hot updates.
That is mostly true, but may not work if the tuple length changes
with each update. The space freed up the previous update may
not be enough to accommodate the new tuple. Also we should
take the unusable space left by redirected line pointer.
> My take is that it would do nothing for longer term performance on
> heavily updated tables and have a negative effect on tables that are
> seldom updated. Overall, thats a loss, for me.
OK. I wish to have a config parameter so that DBA can set
the system level default and then override that (if required) for
each table. It will also be useful for experimenting with different
fillfactor. The only way today is either to recompile your sources
or change the parameter in every CREATE TABLE statement.