On 31 January 2012 23:04, Tom Lane <tgl@sss.pgh.pa.us> wrote:
> Dean Rasheed <dean.a.rasheed@gmail.com> writes:
>> The thing I'm unsure about is whether sending sinval
>> messages when the visibility map is extended is a good idea.
>
> Seems perfectly reasonable to me. They'd occur so seldom as to be
> more than repaid if we can scrape some cost out of the mainline paths.
>
OK, thanks. That's good.
> The real objection to this probably is that if it only saves anything
> for tables that don't have a VM yet, it's dubious whether it's worth
> doing. But if we can avoid wasted checks for VM extension as well,
> then I think it's probably a no-brainer.
>
> regards, tom lane
Yes it applies in the same way to VM extension - if the table has
grown and the VM has not yet been extended, but I don't see why that
is any worse than the case of not having a VM yet.
Actually I think that this is not such an uncommon case - for a table
which has only had data inserted - no deletes or updates - it is
tempting to think that ANALYSE is sufficient, and that there is no
need to VACUUM. If it were simply the case that this caused an
index-only scan to have no real benefit, you might be willing to live
with normal index scan performance. But actually it causes a very
significant performance regression beyond that, to well below 9.1
performance.
Regards,
Dean