[Bizgres-general] SetBufferCommitInfoNeedsSave

Luke Lonergan llonergan at greenplum.com
Wed Jun 1 00:24:22 GMT 2005


Simon,

On 5/31/05 2:50 PM, "Simon Riggs" <simon at 2ndquadrant.com> wrote:

> So, if you load a table using COPY then no rows will be marked with info
> bits. A checkpoint will then flush all dirty blocks to disk. A full file
> scan will then read the block, see the info bits are not set, then set
> them, dirtying the block once more. So the database blocks are written
> twice, once for the load and written again for the first *read* scan.

This explains a behavior we've seen in the field where there is a period
after loading that the sequential scans to the loaded table end up
"flushing" to disk, long after the load has occurred.  This drops the scan
rate after load by a large factor, usually more than 2x due to the
read/write concurrency.

So on the importance scale: Is this critical?  I'd say it's more like
annoying and seemingly inexplicable to the BI/DW users out there.  Why write
data to disk several times?

This one goes on the list of fixes to be sure - not sure how it stacks up to
the others on the list.

Opinions?

Luke




More information about the Bizgres-general mailing list