From: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
---|---|
To: | Hannu Krosing <hannu(at)2ndQuadrant(dot)com> |
Cc: | pgsql-hackers(at)postgreSQL(dot)org |
Subject: | Re: HOT updates in index-less tables |
Date: | 2010-11-13 17:13:23 |
Message-ID: | 27320.1289668403@sss.pgh.pa.us |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Hannu Krosing <hannu(at)2ndQuadrant(dot)com> writes:
> On Sat, 2010-11-13 at 10:51 -0500, Tom Lane wrote:
>> If a table has no indexes, we will always decide that any same-page
>> update operation is a HOT update, since obviously it isn't modifying
>> any indexed columns. But is there any benefit to doing so?
> If we do the in-page "mini vacuum" even without HOT, then there should
> be no benefit from index-less HOT updates.
AFAICS we do: heap_update marks the page as prunable whether it's a HOT
update or not. The only difference between treating the update as HOT vs
not-HOT is that if there was more than one HOT update, the intermediate
tuples could be completely reclaimed by page pruning (ie, their line
pointers go away too). With not-HOT updates, the intermediate line
pointers would have to remain in DEAD state until vacuum, since page
pruning wouldn't know if there were index entries pointing at them.
But that seems like a pretty tiny penalty.
regards, tom lane
From | Date | Subject | |
---|---|---|---|
Next Message | Peter Eisentraut | 2010-11-13 17:14:50 | Re: [COMMITTERS] pgsql: Improved parallel make support |
Previous Message | Hannu Krosing | 2010-11-13 17:01:42 | Re: HOT updates in index-less tables |