pg.ddx.io  pgsql-performance@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Richard Huxton <dev@archonet.com>
To: pgsql-performance@nullmx.com
Cc: pgsql-performance@postgresql.org
Subject: Re: Rewriting DISTINCT and losing performance
Date: Mon, 21 May 2007 18:34:11 +0100
Message-ID: <4651D813.5050100@archonet.com> (raw)
In-Reply-To: <200705210909.44335.pgsql-performance@nullmx.com>
References: <200705202228.32129.pgsql-performance@nullmx.com>
	<465162E6.4030205@agliodbs.com>
	<200705210909.44335.pgsql-performance@nullmx.com>

Chuck D. wrote:
> On Monday 21 May 2007 03:14, Josh Berkus wrote:
>> Chuck,
>>
>> Can we see the plan?
>>
>> --Josh
>>
> 
> Sorry Josh,  I guess I could have just used EXPLAIN instead of EXPLAIN 
> ANALYZE.
> 
> # explain
> SELECT   country_id, country_name
> FROM     geo.country
> WHERE country_id IN
>  (select country_id FROM geo.city)
> ;
>                              QUERY PLAN
> --------------------------------------------------------------------
>  Nested Loop IN Join  (cost=0.00..1252.60 rows=155 width=15)
>    Join Filter: (country.country_id = city.country_id)
>    ->  Seq Scan on country  (cost=0.00..6.44 rows=244 width=15)
>    ->  Seq Scan on city  (cost=0.00..43409.12 rows=2122712 width=2)

The only thing I can think of is that the CLUSTERing on city.country_id 
makes the system think it'll be cheaper to seq-scan the whole table.

I take it you have got 2 million rows in "city"?
-- 
   Richard Huxton
   Archonet Ltd



view thread (8+ messages)  latest in thread

Message-ID: <4651D813.5050100@archonet.com>
Permalink:  ../4651D813.5050100@archonet.com/
Also on:    postgresql.org/message-id/4651D813.5050100@archonet.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-performance@postgresql.org
  Cc: dev@archonet.com, pgsql-performance@nullmx.com
  Subject: Re: Rewriting DISTINCT and losing performance
  In-Reply-To: <4651D813.5050100@archonet.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox