[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