Re: [PATCHES] Proposed patch: synchronized_scanning GUCvariable

Heikki Linnakangas <heikki@enterprisedb.com>

From: "Heikki Linnakangas" <heikki@enterprisedb.com>
To: "Simon Riggs" <simon@2ndquadrant.com>
Cc: "Tom Lane" <tgl@sss.pgh.pa.us>, "Neil Conway" <neilc@samurai.com>, "Gregory Stark" <stark@enterprisedb.com>, "Jonah H. Harris" <jonah.harris@gmail.com>, <pgsql-hackers@postgreSQL.org>
Date: 2008-01-30T20:55:22Z
Lists: pgsql-hackers
Simon Riggs wrote:
> On Wed, 2008-01-30 at 18:42 +0000, Heikki Linnakangas wrote:
>> It's even worse than that. Elsewhere in this thread Simon mentioned a 
>> partitioned table, where each partition on its own is smaller than the 
>> threshold, but you're seq scanning several partitions and the total size 
>> of the seq scans is larger than memory size. In that scenario, you would 
>> want BAS and synchronized scans, but even a per-table setting wouldn't 
>> cut it.
> 
>> For synchronized scans to help in the partitioned situation, I guess 
>> you'd want to synchronize across partitions. If someone is already 
>> scanning partition 5, you'd want to start from that partition and join 
>> the pack, instead of starting from partition 1.
> 
> You're right, but in practice its not quite that bad with the
> multi-table route. When you have partitions you generally exclude most
> of them, with typically 1-2 per query, usually different ones.

Yep. And in that case, you *don't'* want BAS or sync scans to kick in, 
because you're only accessing a relatively small chunk of data, and it's 
worthwhile to cache it.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com