pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Stephan Szabo <sszabo@megazone23.bigpanda.com>
To: Peter Galbavy <peter.galbavy@knowtion.net>
Cc: pgsql-sql@postgresql.org
Subject: Re: 'fake' join and performance ?
Date: Tue, 22 Oct 2002 10:31:35 -0700 (PDT)
Message-ID: <20021022102934.U88979-100000@megazone23.bigpanda.com> (raw)
In-Reply-To: <054501c279e5$8bfcfe00$4528a8c0@cblan.mblox.com>


On Tue, 22 Oct 2002, Peter Galbavy wrote:

> OK, I am now confused; postgresql 7.3beta2 on OpenBSD:
>
>
> photos=# select * from metadata WHERE name = 'Make' and value = 'Canon'
> limit 10;
>
> *bang*, 10 values, sub second response.
>
> photos=# select * from metadata m, images i WHERE m.name = 'Make' and
> m.value = 'Canon' limit 10;
>
> *yawn* - see you later...
>
> ----------------------------------------------------------------------------
> ------------------------
>  Limit  (cost=0.00..27712.04 rows=6 width=816)
>    ->  Nested Loop  (cost=0.00..31073.00 rows=7 width=816)
>          ->  Index Scan using metadata_index_2 on metadata m
> (cost=0.00..31072.94 rows=7 width=92)
>                Index Cond: (name = 'Make'::text)
>                Filter: (value = 'Canon'::text)
>          ->  Seq Scan on images i  (cost=0.00..0.00 rows=1 width=724)
> (6 rows)
>
>
>
> Er, what's that nested loop. I *know* I have shot myself in the foot
> somehow, but my initial reaction was that the optimiser should just make the
> 'fake' (i.e. unreferenced) reference to another table go away...

It can't do that.  The second query would give multiple copies of each row
in metadata for each row in images.  I'm surprised that it'd be so slow if
images is completely empty though.  What does explain analyze show for the
real times.





view thread (4+ messages)  latest in thread

Message-ID: <20021022102934.U88979-100000@megazone23.bigpanda.com>
Permalink:  ../20021022102934.U88979-100000@megazone23.bigpanda.com/
Also on:    postgresql.org/message-id/20021022102934.U88979-100000@megazone23.bigpanda.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-sql@postgresql.org
  Cc: sszabo@megazone23.bigpanda.com, peter.galbavy@knowtion.net
  Subject: Re: 'fake' join and performance ?
  In-Reply-To: <20021022102934.U88979-100000@megazone23.bigpanda.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