On Wed, 2007-08-08 at 18:05 +0530, Pavan Deolasee wrote:
> If HOT gets into 8.3, we might need a GUC to set database wide heap
> fillfactor to an appropriate value. The only way to so today is
> compile
> time value of DEFAULT_HEAP_FILLFACTOR. HOT works much
> better if there is atleast one tuple worth of free space in each
> block. 
> Otherwise atleast the first UPDATE in each block would be a COLD
> update.
> Should we consider adding such a GUC now ? I searched through
> archives, but did not find any strong objection to doing so in the
> past. 
> But I might have missed something. Comments ?

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.

So this effect only happens immediately after the load of a table. Sure
that effects the first few seconds or minutes, but then after that we
will get into a steady state.

If you can demonstrate that the performance after say 8 hours is
significantly different because of such a fill factor then it is worth
having. I doubt that is the case, but test results may prove me wrong.

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. 

  Simon Riggs
  EnterpriseDB  http://www.enterprisedb.com

---------------------------(end of broadcast)---------------------------
TIP 3: Have you checked our extensive FAQ?


Reply via email to