Received: from localhost (wm.hub.org [200.46.204.128]) by postgresql.org (Postfix) with ESMTP id 23D429FB47A for ; Tue, 17 Oct 2006 06:40:10 -0300 (ADT) Received: from postgresql.org ([200.46.204.71]) by localhost (mx1.hub.org [200.46.204.128]) (amavisd-new, port 10024) with ESMTP id 55868-03 for ; Tue, 17 Oct 2006 09:40:04 +0000 (UTC) X-Greylist: from auto-whitelisted by SQLgrey- Received: from mail.rentalia.net (mail.rentalia.com [213.192.209.8]) by postgresql.org (Postfix) with ESMTP id E101F9FB318 for ; Tue, 17 Oct 2006 06:40:03 -0300 (ADT) Received: (qmail 18556 invoked by uid 514); 17 Oct 2006 11:40:01 +0200 Received: from 62.37.216.182 by rigodon (envelope-from , uid 512) with qmail-scanner-1.25-st-qms (clamdscan: 0.88/1284. spamassassin: 3.0.2. perlscan: 1.25-st-qms. Clear:RC:0(62.37.216.182):SA:0(-2.3/5.0):. Processed in 3.466794 secs); 17 Oct 2006 09:40:01 -0000 X-Antivirus-MYDOMAIN-Mail-From: ruben@rentalia.com via rigodon X-Antivirus-MYDOMAIN: 1.25-st-qms (Clear:RC:0(62.37.216.182):SA:0(-2.3/5.0):. Processed in 3.466794 secs Process 18485) Received: from 182.pool62-37-216.dynamic.uni2.es (HELO ?192.168.2.28?) (ruben@rentalia.com@62.37.216.182) by mail.rentalia.net with SMTP; 17 Oct 2006 11:39:58 +0200 Message-ID: <4534A4F8.7070209@rentalia.com> Date: Tue, 17 Oct 2006 11:40:08 +0200 From: Ruben Rubio User-Agent: Thunderbird 1.5.0.7 (X11/20060922) MIME-Version: 1.0 To: "Gregory S. Williamson" CC: pgsql-performance@postgresql.org Subject: Re: Optimization of this SQL sentence References: <45349CDF.3090002@rentalia.com> <71E37EF6B7DCC1499CEA0316A256832802B3E738@loki.wc.globexplorer.net> In-Reply-To: <71E37EF6B7DCC1499CEA0316A256832802B3E738@loki.wc.globexplorer.net> X-Enigmail-Version: 0.94.0.0 Content-Type: text/plain; charset=windows-1252 Content-Transfer-Encoding: 8bit X-Virus-Scanned: Maia Mailguard 1.0.1 X-Spam-Status: No, hits=0.135 tagged_above=0 required=5 tests=FORGED_RCVD_HELO X-Spam-Level: X-Archive-Number: 200610/315 X-Sequence-Number: 21444 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 If just just realized that is a litlle faster (15% faster) with this: CREATE INDEX idx_statustype ON "comment" USING btree (idstatus, ctype); Any other ideas? Gregory S. Williamson escribió: > Off hanbd I can't recommend anything, bur perhaps you could post the details of the tables (columns, indexes),and some info on what version of postgres you are using. > > Are the tables recently analyzed ? How many rows in them ? > > Greg Williamson > DBA > GlobeXplorer LLC > > > -----Original Message----- > From: pgsql-performance-owner@postgresql.org on behalf of Ruben Rubio > Sent: Tue 10/17/2006 2:05 AM > To: pgsql-performance@postgresql.org > Cc: > Subject: [PERFORM] Optimization of this SQL sentence > > This SQL sentence is very simple. I need to get better results. I have > tried some posibilities and I didn't get good results. > > SELECT max(idcomment) > FROM ficha vf > INNER JOIN comment c ON (vf.idficha=c.idfile AND (idestado=3 OR > idestado=4)) > WHERE idstatus=3 > AND ctype=1 > > > QUERY PLAN > > Aggregate (cost=2730.75..2730.76 rows=1 width=4) (actual > time=188.463..188.469 rows=1 loops=1) > > -> Hash Join (cost=1403.44..2730.72 rows=11 width=4) (actual > time=141.464..185.404 rows=513 loops=1) > > Hash Cond: ("outer".idfile = "inner".idficha) > > -> Seq Scan on "comment" c (cost=0.00..1321.75 rows=1083 > width=8) (actual time=0.291..36.112 rows=642 loops=1) > > Filter: ((idstatus = 3) AND (ctype = 1)) > > -> Hash (cost=1403.00..1403.00 rows=178 width=4) (actual > time=141.004..141.004 rows=6282 loops=1) > > -> Seq Scan on ficha vf (cost=0.00..1403.00 rows=178 > width=4) (actual time=0.071..97.885 rows=6282 loops=1) > > Filter: (((idestado)::text = '3'::text) OR > ((idestado)::text = '4'::text)) > > Total runtime: 188.809 ms > > > Thanks in advance, > Ruben Rubio - ---------------------------(end of broadcast)--------------------------- TIP 3: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq - ------------------------------------------------------- Click link below if it is SPAM gsw@globexplorer.com "https://mailscanner.globexplorer.com/dspam/dspam.cgi?signatureID=45349c86275246672479766&user=gsw@globexplorer.com&retrain=spam&template=history&history_page=1" !DSPAM:45349c86275246672479766! - ------------------------------------------------------- - ---------------------------(end of broadcast)--------------------------- TIP 9: In versions below 8.0, the planner will ignore your desire to choose an index scan if your joining column's datatypes do not match -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.2.2 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFFNKT4Io1XmbAXRboRAurtAKC8YWjgzytaqkPjLfrohZ1aceZivwCgpDii wzxc4fktzIHTZRhPuJLi2Wc= =Korn -----END PGP SIGNATURE-----