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? http://www.postgresql.org/docs/faq