Simon Riggs wrote:
On Sat, 2007-03-10 at 07:59 +0000, Simon Riggs wrote:
On Fri, 2007-03-09 at 18:05 -0500, Tom Lane wrote:
"Simon Riggs" <[EMAIL PROTECTED]> writes:
On Fri, 2007-03-09 at 16:45 -0500, Tom Lane wrote:
We do that anyway; but certainly Simon's patch ought not be injecting
an additional one.
It should be possible to pass that down from the planner to the
executor, in certain cases.
Huh?  See HeapScanDesc->rs_nblocks.
Many thanks.

New patch enclosed, implementation as you've requested.

Not ready to apply yet, but good for testing.

A quick test using the setup for "Buffer cache is not scan resistant" thread:

Firstly vanilla 8.3 from 20070310:

Shared Buffers  Elapsed  vmstat IO rate
--------------  -------  --------------
400MB           101 s    122 MB/s
128KB            79 s    155 MB/s  [1]

Now apply cycle scan v2:

Shared Buffers  Scan_recycle_buffers Elapsed  vmstat IO rate
--------------  -------------------- -------  -------------
400MB           0                    101 s    122 MB/s
400MB           8                    78 s     155 MB/s
400MB           16                   77 s     155 MB/s
400MB           32                   78 s     155 MB/s
400MB           64                   82 s     148 MB/s
400MB           128                  93 s     128 MB/s

Certainly seems to have the desired effect!



[1] I'm not seeing 166 MB/s like previous 8.2.3 data, however 8.3 PGDATA is located further toward the end of the disk array - which I suspect is limiting the IO rate a little.

---------------------------(end of broadcast)---------------------------
TIP 6: explain analyze is your friend

Reply via email to