On Tue, Nov 30, 2010 at 12:10 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Robert Haas <robertmhaas@gmail.com> writes:
>> We're not going to double the cost of VACUUM to get index-only scans.
>> And that's exactly what will happen if you do full-page writes of
>> every heap page to set a single bit.
>
> It's ridiculous to claim that that "doubles the cost of VACUUM". In the
> worst case, it will add 25% to the cost of setting an all-visible bit on
> a page where there is no other work to do. (You already are writing out
> the heap page and the VM page,
True.
> plus a WAL image of the heap page, so a
False. That is exactly what we are NOT doing now and what we must
find a way to avoid doing.
> WAL image of the VM page adds 25%. But only if you did not set any
> other bits on the same VM page, which is probably not a real common
> case.) Given that VACUUM has a lot of other cleanup besides visibility
> bit setting, I'm not convinced that this would even be noticeable.
>
> I think the burden is on people who are proposing complicated mechanisms
> to show that there's actually a strong need for them.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company