[Bizgres-general] SetBufferCommitInfoNeedsSave
Simon Riggs
simon at 2ndquadrant.com
Wed Jun 1 00:24:35 GMT 2005
On Tue, 2005-05-31 at 17:24 -0700, Luke Lonergan wrote:
> 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?
Well, I'm too busy to address it, so I thought I'd throw it out
there....
I worked with one client who performed an immediate summary table build
after every 5 minute data load. So they hit it every time, all the time.
Best Regards, Simon Riggs
More information about the Bizgres-general
mailing list