• Tom Lane's avatar
    Improve index-only scans to avoid repeated access to the index page. · cbfa92c2
    Tom Lane authored
    We copy all the matched tuples off the page during _bt_readpage, instead of
    expensively re-locking the page during each subsequent tuple fetch.  This
    costs a bit more local storage, but not more than 2*BLCKSZ worth, and the
    reduction in LWLock traffic is certainly worth that.  What's more, this
    lets us get rid of the API wart in the original patch that said an index AM
    could randomly decline to supply an index tuple despite having asserted
    pg_am.amcanreturn.  That will be important for future improvements in the
    index-only-scan feature, since the executor will now be able to rely on
    having the index data available.
    cbfa92c2
nbtsearch.c 46.5 KB