Re: Seq scans roadmap
CK Tan <cktan@greenplum.com>
From: "CK Tan" <cktan@greenplum.com>
To: "Heikki Linnakangas" <heikki@enterprisedb.com>
Cc: "Zeugswetter Andreas ADI SD" <ZeugswetterA@spardat.at>, "Luke Lonergan" <LLonergan@greenplum.com>, "PostgreSQL-development" <pgsql-hackers@postgresql.org>, "Jeff Davis" <pgsql@j-davis.com>, "Simon Riggs" <simon@enterprisedb.com>
Date: 2007-05-10T18:12:23Z
Lists: pgsql-hackers
The patch has no effect on scans that do updates. The KillAndReadBuffer routine does not force out a buffer if the dirty bit is set. So updated pages revert to the current performance characteristics. -cktan GreenPlum, Inc. On May 10, 2007, at 5:22 AM, Heikki Linnakangas wrote: > Zeugswetter Andreas ADI SD wrote: >>> In reference to the seq scans roadmap, I have just submitted a >>> patch that addresses some of the concerns. >>> >>> The patch does this: >>> >>> 1. for small relation (smaller than 60% of bufferpool), use the >>> current logic 2. for big relation: >>> - use a ring buffer in heap scan >>> - pin first 12 pages when scan starts >>> - on consumption of every 4-page, read and pin the next 4-page >>> - invalidate used pages of in the scan so they do not force out >>> other useful pages >> A few comments regarding the effects: >> I do not see how this speedup could be caused by readahead, so >> what are >> the effects ? > > I was wondering that as well. We'd really need to test all the > changes separately to see where the improvements are really coming > from. > > Also, that patch doesn't address the VACUUM issue at all. And using > a small fixed size ring with scans that do updates can be > devastating. I'm experimenting with different ring sizes for COPY > at the moment. Too small ring leads to a lot of WAL flushes, it's > basically the same problem we have with VACUUM in CVS HEAD. > > -- > Heikki Linnakangas > EnterpriseDB http://www.enterprisedb.com >