Gokulakannan Somasundaram wrote: > Thanks for all the inputs. My question would be if we decide to update the > top of the HOT chain in the Index itself. Right now we are carrying a list > of tuple-ids to be vacuumed, when we vacuum the index. Say we carry another > list (or through some better mechanism), which would carry the corresponding > live HOT tuple to be pointed. In other words we would try to make the index > point to the top of the HOT chain during Vacuum.
Yeah, we could do that. It was discussed in Spring, along with many other alternatives. Search the archives for "pointer swinging".
Basically, we decided we can live without it for now. It would've required quite a bit of changes, for not that much gain. We might still want it in the future if there's demand for it. If you really need to recover those 4 bytes per HOT chain, you can use VACUUM FULL, though it does take an exclusive lock on the table.
I think pointer swinging is still about maintaining the HOT chain within a page. Actually i am thinking about continuing the HOT chain across pages. The advantages are obvious
a) Indexes need not get updated unless their values are updated, even if the inserts go into new pages b) Much smaller Index Footprint.
May be i am missing something in the big picture. Please clarify me on that.