Received: from taru.tm.ee (unknown [213.180.2.168]) by postgresql.org (Postfix) with ESMTP id E23174759AF for ; Thu, 11 Jul 2002 16:06:36 -0400 (EDT) Received: (from hannu@localhost) by taru.tm.ee (8.11.6/8.11.6) id g6BL8F418798; Thu, 11 Jul 2002 23:08:15 +0200 X-Authentication-Warning: taru.tm.ee: hannu set sender to hannu@tm.ee using -f Subject: Re: please help on query From: Hannu Krosing To: Luis Alberto Amigo Navarro Cc: pgsql-hackers@postgresql.org In-Reply-To: <005e01c228ee$bd1913e0$cab990c1@atc.unican.es> References: <005e01c228ee$bd1913e0$cab990c1@atc.unican.es> Content-Type: text/plain Content-Transfer-Encoding: 7bit X-Mailer: Ximian Evolution 1.0.3.99 Date: 11 Jul 2002 23:08:15 +0200 Message-Id: <1026421695.18194.24.camel@taru.tm.ee> Mime-Version: 1.0 X-Archive-Number: 200207/470 X-Sequence-Number: 24844 On Thu, 2002-07-11 at 17:22, Luis Alberto Amigo Navarro wrote: > I can't improve performance on this query: This _may_ work. SELECT supplier.name, supplier.address FROM supplier, nation, WHERE supplier.suppkey IN ( SELECT part.partkey FROM part WHERE part.name like 'forest%' INNER JOIN partsupp ON part.partkey=partsupp.partkey INNER JOIN ( SELECT 0.5*(sum(lineitem.quantity)::FLOAT) as halfsum FROM lineitem WHERE lineitem.partkey=partsupp.partkey AND shipdate >= '1994-01-01' AND shipdate < '1995-01-01' ) li ON partsupp.availqty > halfsum ) AND supplier.nationkey=nation.nationkey AND nation.name='CANADA' ORDER BY supplier.name; --------------- Hannu