[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