Re: explain shows lots-o-preliminary sorting - Mailing list pgsql-general

From Joseph Shraibman
Subject Re: explain shows lots-o-preliminary sorting
Date
Msg-id 3AC28475.8E9F9CCA@selectacast.net
Whole thread Raw
In response to explain shows lots-o-preliminary sorting  (will trillich <will@serensoft.com>)
Responses Re: explain shows lots-o-preliminary sorting  (will trillich <will@serensoft.com>)
List pgsql-general
Merge joins sorta need their input to be sorted.

will trillich wrote:
>
> CREATE VIEW course AS
> SELECT
>         e.code AS educode,
>         e.name AS eduname,
>         t.code AS topiccode,
>         t.name AS topicname,
>         c.id,
>         c.topic,
>         c.code,
>         c.hrs,
>         c.num,
>         c.name,
>         c.descr,
>         c.created,
>         c.modified,
>         c.editor,
>         c.status
> FROM
>         _edu    e,
>         _topic  t,
>         _course c
> WHERE
>         c.topic = t.id -- maybe this should be swapped
>         AND
>         t.edu = e.id   -- with this ??
> ;
>
> psql=> explain select * from course;
> NOTICE:  QUERY PLAN:
>
> Merge Join  (cost=4.14..4.42 rows=8 width=238)
>   ->  Sort  (cost=2.63..2.63 rows=5 width=60)
>         ->  Merge Join  (cost=2.38..2.57 rows=5 width=60)
>               ->  Sort  (cost=1.30..1.30 rows=11 width=32)
>                     ->  Seq Scan on _topic  (cost=0.00..1.11 rows=11 width=32)
>               ->  Sort  (cost=1.08..1.08 rows=4 width=28)
>                     ->  Seq Scan on _edu  (cost=0.00..1.04 rows=4 width=28)
>   ->  Sort  (cost=1.52..1.52 rows=17 width=178)
>         ->  Seq Scan on _course  (cost=0.00..1.17 rows=17 width=178)
>
> EXPLAIN
>
> there's FOUR sort items mentioned there, and that's before the
> merge join (results will not be sorted in any particular order).
>
> which document will allay my 'holy cow is this ever gonna slow
> down my database performance' concerns? (perhaps by saying that
> sorting is just a myth, or by telling me how to get this puppy to
> not sort at all -- and to use the indexes that i've defined for
> all these joined fields...!)
>
> --
> It is always hazardous to ask "Why?" in science, but it is often
> interesting to do so just the same.
>                 -- Isaac Asimov, 'The Genetic Code'
>
> will@serensoft.com
> http://newbieDoc.sourceforge.net/ -- we need your brain!
> http://www.dontUthink.com/ -- your brain needs us!
>
> ---------------------------(end of broadcast)---------------------------
> TIP 6: Have you searched our list archives?
>
> http://www.postgresql.org/search.mpl

--
Joseph Shraibman
jks@selectacast.net
Increase signal to noise ratio.  http://www.targabot.com

pgsql-general by date:

Previous
From: will trillich
Date:
Subject: composite data types
Next
From: Lincoln Yeoh
Date:
Subject: Re: Re: Tables grow in size when issuing UPDATEs! Why??