From: | Gregory Stark <stark(at)enterprisedb(dot)com> |
---|---|
To: | "Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "Simon Riggs" <simon(at)2ndquadrant(dot)com>, "pgsql-hackers" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Hint Bits and Write I/O |
Date: | 2008-05-28 10:08:12 |
Message-ID: | 87hccispv7.fsf@oxford.xeocode.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers pgsql-patches |
"Tom Lane" <tgl(at)sss(dot)pgh(dot)pa(dot)us> writes:
> (Although that argument might not hold water for a bulk seqscan: you'll
> have hinted all the tuples and then very possibly throw the page away
> immediately.
That seems like precisely the case where we don't want to dirty the buffer.
> So counting the hints and eventually deciding we did
> enough to justify dirtying the page might be worth doing.)
What if we counted how many hint bits were *not* set? I feel like the goal
should be to dirty the buffer precisely once when all the bits can be set. The
problem case is when we dirty the page but still have some hint bits to be set
on a subsequent iteration.
Of course that doesn't deal with the case where tuples are being touched
continuously. Perhaps the idea should be to treat the page as dirty every n
hint bit settings where n is the number of tuples on the page. or highest
number of unset hint bits seen on the page. or something like that.
--
Gregory Stark
EnterpriseDB http://www.enterprisedb.com
Ask me about EnterpriseDB's On-Demand Production Tuning
From | Date | Subject | |
---|---|---|---|
Next Message | Matthew Wakeling | 2008-05-28 10:45:14 | Re: Outer joins and equivalence |
Previous Message | Magnus Hagander | 2008-05-28 09:10:10 | Re: Remove redundant extra_desc info for enum GUC variables? |
From | Date | Subject | |
---|---|---|---|
Next Message | Simon Riggs | 2008-05-28 11:31:33 | Re: Hint Bits and Write I/O |
Previous Message | Magnus Hagander | 2008-05-28 09:04:14 | Re: guc config_enum_entry add hidden field |