From: | Heikki Linnakangas <heikki(at)enterprisedb(dot)com> |
---|---|
To: | Luke Lonergan <LLonergan(at)greenplum(dot)com> |
Cc: | PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>, Jeff Davis <pgsql(at)j-davis(dot)com>, Simon Riggs <simon(at)enterprisedb(dot)com> |
Subject: | Re: Seq scans roadmap |
Date: | 2007-05-08 12:57:27 |
Message-ID: | 464073B7.4070304@enterprisedb.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
Luke Lonergan wrote:
>> What do you mean with using readahead inside the heapscan?
>> Starting an async read request?
>
> Nope - just reading N buffers ahead for seqscans. Subsequent calls use
> previously read pages. The objective is to issue contiguous reads to
> the OS in sizes greater than the PG page size (which is much smaller
> than what is needed for fast sequential I/O).
Are you filling multiple buffers in the buffer cache with a single
read-call? The OS should be doing readahead for us anyway, so I don't
see how just issuing multiple ReadBuffers one after each other helps.
> Yes, I think the ring buffer strategy should be used when the table size
> is > 1 x bufcache and the ring buffer should be of a fixed size smaller
> than L2 cache (32KB - 128KB seems to work well).
I think we want to let the ring grow larger than that for updating
transactions and vacuums, though, to avoid the WAL flush problem.
--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com
From | Date | Subject | |
---|---|---|---|
Next Message | Martijn van Oosterhout | 2007-05-08 13:10:56 | Re: Allow use of immutable functions operating on constants with constraint exclusion |
Previous Message | Luke Lonergan | 2007-05-08 12:44:11 | Re: Seq scans roadmap |