From: | Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> |
---|---|
To: | Simon Riggs <simon(at)2ndquadrant(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Optimization for lazy_scan_heap |
Date: | 2016-09-05 15:27:45 |
Message-ID: | CAD21AoAbiHuQJhXD2Vj1_hzzjVg5rGfiay_fNays5_RPBCo7MA@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Mon, Sep 5, 2016 at 6:27 PM, Simon Riggs <simon(at)2ndquadrant(dot)com> wrote:
> On 4 August 2016 at 05:57, Masahiko Sawada <sawada(dot)mshk(at)gmail(dot)com> wrote:
>
>> While reviewing freeze map code, Andres pointed out[1] that
>> lazy_scan_heap could accesses visibility map twice and its logic is
>> seems a bit tricky.
>> As discussed before, it's not nice especially when large relation is
>> entirely frozen.
>>
>> I posted the patch for that before but since this is an optimization,
>> not bug fix, I'd like to propose it again.
>> Please give me feedback.
>>
>> [1] https://www.postgresql.org/message-id/20160505000840.epatoq6d2e556446%40alap3.anarazel.de
>
> If we have a freeze map now, surely tables will no longer be entirely frozen?
Well, if table is completely frozen, freezing for all pages will be skipped.
> What performance difference does this make, in a realistic use case?
I have yet to measure performance effect but it would be effect for
very large frozen table.
> How would we test this to check it is exactly correct?
One possible idea is that we emit the number of skipped page according
visibility map as a vacuum verbose message, and check it.
Regards,
--
Masahiko Sawada
NIPPON TELEGRAPH AND TELEPHONE CORPORATION
NTT Open Source Software Center
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2016-09-05 15:48:32 | Re: Fun fact about autovacuum and orphan temp tables |
Previous Message | Claudio Freire | 2016-09-05 14:50:28 | Re: Vacuum: allow usage of more than 1GB of work mem |