Re: Learning to read explain - Mailing list pgsql-novice

From Rob Arnold
Subject Re: Learning to read explain
Date
Msg-id 001301c179a0$8bb0c2b0$4901010a@canrion.net
Whole thread Raw
In response to Learning to read explain  (Francisco Reyes <lists@natserv.com>)
Responses Re: Learning to read explain
List pgsql-novice
I too would like help on this subject.

Here is the little bit I know (or think I know):

The explains are read backwards.  Start at the bottom and read up.

The Hash thing means a hash table is being created "on the fly" to do a join
or meet some WHERE criteria.  You will also see Sort appear when you ask for
DISTINCT or GROUP BY.   Again, the sort is done "on the fly" in order to
fulfill your request.

--- Presumed knowledge ends here ---

--rob

----- Original Message -----
From: "Francisco Reyes" <lists@natserv.com>
To: "Pgsql Novice" <pgsql-novice@postgresql.org>
Sent: Thursday, November 29, 2001 6:03 PM
Subject: Learning to read explain


> Any good sources on how to properly interpret explain?
>
> For instance I started out with something like:
> Hash Join  (cost=20279.05..128002.12 rows=1064 width=78)
>   ->  Seq Scan on yhearn yhe  (cost=0.00..23058.65 rows=1175565 width=38)
>   ->  Hash  (cost=18659.62..18659.62 rows=156970 width=40)
>    ->  Seq Scan on hearn he  (cost=0.00..18659.62 rows=156970 width=40)
>
>
> After looking at my tables and what would be my most restrictive
> conditions I got down to:
> Nested Loop  (cost=0.00..65999.17 rows=21 width=78)
>  ->  Seq Scan on yhearn yhe  (cost=0.00..28936.47 rows=7655 width=38)
>  ->  Index Scan using he_horse on hearn he  (cost=0.00..4.82 rows=1
width=40)
>
> But it would have helped if I better understood what is the "cost".
> Also what is the "Hash" on the first version of my not-optimized query.
>
>


pgsql-novice by date:

Previous
From: "KUMARI,GEETHA-PRESENNA (HP-India,ex2)"
Date:
Subject: Multibyte support
Next
From: "Brett W. McCoy"
Date:
Subject: Re: Logging