Greg Stark wrote:
Florian G. Pflug wrote:
The same holds true for index scans, though. Maybe we can find a solution that benefits both cases - something along the line of a bgreader process
I posted a patch to do readahead for bitmap index scans using posix_fadvise. Experiments showed it works great on raid arrays on Linux. Solaris will need to use libaio though which I haven't tried yet.
Cool! I'd like to try it out - is that patch available in the pg-patches
archives?

Doing it for normal index scans is much much harder. You can readahead a single page by using the next pointer if it looks like you'll need it. But I don't see a convenient way to get more than that.
I was thinking that after reading a page from the index, the backend
could post a list of heap pages referenced from that index page to the
shmem. A background process would repeatedly scan that list, and load
those pages into the buffer cache.

regards, Florian Pflug



---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster

Reply via email to