Received: from urdvg136.cms.usa.net (urdvg136.cms.usa.net [204.68.25.136]) by postgresql.org (8.11.3/8.11.4) with SMTP id fBJN2am26457 for ; Wed, 19 Dec 2001 18:02:36 -0500 (EST) (envelope-from bbelovic@usa.net) Received: (qmail 11721 invoked from network); 19 Dec 2001 23:04:17 -0000 Received: from cpdvg100.netaddress.usa.net (165.212.8.100) by outbound.postoffice.net with SMTP; 19 Dec 2001 23:04:17 -0000 Received: (qmail 21331 invoked by uid 60001); 19 Dec 2001 23:02:51 -0000 Message-ID: <20011219230251.21327.qmail@cpdvg100.netaddress.usa.net> Received: from 165.212.8.100 by mx00 for [64.244.183.190] via web-mailer(34FM.0700.21.01) on Wed Dec 19 23:02:51 GMT 2001 Date: 19 Dec 2001 18:02:51 EST From: Bojan Belovic To: "Michael T. Halligan" , pgsql-admin@postgresql.org Subject: Re: [Tuning questions..] X-Mailer: USANET web-mailer (34FM.0700.21.01) Mime-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by postgresql.org id fBJN33L27146 X-Archive-Number: 200112/132 X-Sequence-Number: 2855 Not sure about tuning, but it seems to me that this query would be much more effective if it's rewritten like this (especially if style_id columns on both tables are indexed): SELECT count(DISTINCT song_id) AS X FROM ssa_candidate SC JOIN station_subgenre SS ON SC.style_id = SS.style_id WHERE SS.station_id = 48 Please correct me if I'm wrong. Also, Michael, if you give this one a try, could you send me the query plan, I'm just curious. "Michael T. Halligan" wrote: > Hi.. I seem to be running into a bottle neck on a query, and I'm not > sure what the bottleneck is . > The machine is a dual-processor p3 750 with 2 gigs of (pc100) memory, > and 3 72 gig disks setup > in raid 5. Right now i'm just testing our db for speed (we're porting > from oracle) .. later on > We're looking @ a quad xeon 700 with 16 gigs of ram & 10 drives in > hardware raid 5. > > We've tuned the queries a bit, added some indices, and we got this query > down from about 15 minutes > to 7.6 seconds.. but it just seems like we should be able to get this > query down to under a second on > this box.. It's running the latest suse, with 2.4.16 kernel, reiserfs, > postgres 7.2b3. I've tried many different combinations > of buffers, stat collection space, sort space, etc. none of them really > effect performance.. > > When I run this particular query, the only resource that seems to change > is one of the processors gets up to > about 99% usage.. I've tried setting postgres to use up to 1.6 gigs of > memory, but the postmaster never seems > to get above about 700megs.. it's not swapping at all, though the > contact switching seems to get a bit high (peaking > at 150) .. > > The query sorts through about 80k rows.. here's the query > -------------------------------------------------- > SELECT count(*) FROM ( > SELECT DISTINCT song_id FROM ssa_candidate WHERE > style_id IN ( > SELECT style_id FROM station_subgenre WHERE > station_id = 48 > ) > ) AS X; > -------------------------------------------------- > and the query plan : > -------------------------------------------------- > NOTICE: QUERY PLAN: > > Aggregate (cost=12236300.87..12236300.87 rows=1 width=13) > -> Subquery Scan x (cost=12236163.64..12236288.40 rows=4990 width=13) > -> Unique (cost=12236163.64..12236288.40 rows=4990 width=13) > -> Sort (cost=12236163.64..12236163.64 rows=49902 width=13) > -> Seq Scan on ssa_candidate > (cost=0.00..12232269.54 rows=49902 width=13) > SubPlan > -> Materialize (cost=122.53..122.53 > rows=31 width=11) > -> Index Scan using > station_subgenre_pk on station_subgenre (cost=0.00..122.53 rows=31 > width=11) > > EXPLAIN > -------------------------------------------------- > > > If anybody has any ideas, I'd be really appreciative.. > > > > > > > > ---------------------------(end of broadcast)--------------------------- > TIP 2: you can get off all lists at once with the unregister command > (send "unregister YourEmailAddressHere" to majordomo@postgresql.org) ____________________________________________________________________ Get free e-mail and a permanent address at http://www.amexmail.com/?A=1