Re: HOT patch - version 15 - Mailing list pgsql-patches

From Pavan Deolasee
Subject Re: HOT patch - version 15
Date
Msg-id 2e78013d0709120312l2b5861d8u372477646c2f94f5@mail.gmail.com
Whole thread Raw
In response to Re: HOT patch - version 15  ("Heikki Linnakangas" <heikki@enterprisedb.com>)
List pgsql-patches


On 9/11/07, Heikki Linnakangas <heikki@enterprisedb.com> wrote:


The crucial design
decision for HOT is when to prune and when to defragment the page, so
that when we're doing the UPDATE, there's room in the page.


Right.

For defragmentation, I am still inclined towards doing it when we see
that the free space is less than (or slightly more than) the average tuple
size of the table - unless we have a better solution.

For pruning, we can do the quick pruning. But I won't feel comfortable
doing it without an exclusive lock on the buffer. Also I would avoid
line pointer redirection during quick prune. A simpler solution would
be to flag the page whenever HOT chain becomes longer than, say
5, (which can easily be detected in heap_hot_fetch) and prune it in
the next lookup. Hopefully we would only rarely have long HOT chains
and if at all we have them, we will have some mechanism to recover
from it.

Any other ideas ?

Thanks,
Pavan

--
Pavan Deolasee
EnterpriseDB     http://www.enterprisedb.com

pgsql-patches by date:

Previous
From: "Pavan Deolasee"
Date:
Subject: Re: HOT documentation README
Next
From: "Florian G. Pflug"
Date:
Subject: Rename latestCompletedXid to latestCommittedXid