On Wed, Nov 7, 2012 at 6:01 AM, Amit Kapila <amit.kapila@huawei.com> wrote:
>> >> Following the sig is a first cut at a patch (written by Atri) that
>PFA below the sig the updated patch for the same.It maintains a cache cachedVisibilityXid which holds the results of clog visibility check. cachedVisibilityXidStatus
>holds the commit status of the XID in cachedVisibilityXid.
>In each visibility function (except HeapTupleSatisfiesVacuum() ), an addition check has been added to check if the commit status of Xmin or Xmax of a tuple can be >retrieved from the cache.
1. From your explanation and code, it is quite clear that it will certainly give performance benefits in the scenario’s mentioned by you.
I can once validate the performance numbers again and do the code review for this patch during CF-3.
However I am just not very sure about the use case, such that whether it is a sufficient use case.
So I would like to ask opinion of other people as well.
2. After this patch, tuple hint bit is not set by Select operations after data populated by one transaction.
This appears to be good as it will save many ops (page dirty followed by flush , clog inquiry).
Though it is no apparent, however we should see whether it can cause any other impact due to this:
a. like may be now VACUUM needs set the hint bit which may cause more I/O during Vacuum.
Hackers, any opinion/suggestions about the use case?
With Regards,
Amit Kapila.