Gunther Schadow <gunther@aurora.regenstrief.org> writes:
> I would be very eager to have
> index-only reads in PostgreSQL.
It won't happen. See the many, many prior discussions of this point in
the archives.
Something we perhaps *could* do is to "batch" index reads: pull a bunch
of TIDs from the index, sort these by page number, and then access the
corresponding heap tuples in page number order. Unfortunately you'd
probably need to batch some thousands of TIDs to really improve the
locality of reference this way, and that would mean holding pins on
quite a few index pages, which would complicate the bookkeeping and
probably create a severe concurrency hit (if not actually introduce a
risk of deadlock; I haven't thought hard enough about it to be sure).
We could avoid these potential downsides by only sorting one index
page's worth of TIDs at a time, but most likely that doesn't buy enough
locality of reference to be worth the trouble.
Still it seems like a useful avenue to investigate. If you want to
pursue it further, this is not the list to be discussing it on;
pgsql-hackers is the place for such discussions.
regards, tom lane