Re: Oracle v. Postgres 9.0 query performance - Mailing list pgsql-performance

From Tom Lane
Subject Re: Oracle v. Postgres 9.0 query performance
Date
Msg-id 10260.1307547185@sss.pgh.pa.us
Whole thread Raw
In response to Oracle v. Postgres 9.0 query performance  (Tony Capobianco <tcapobianco@prospectiv.com>)
Responses Re: Oracle v. Postgres 9.0 query performance  (Tony Capobianco <tcapobianco@prospectiv.com>)
List pgsql-performance
Tony Capobianco <tcapobianco@prospectiv.com> writes:
> pg_dw=# explain CREATE TABLE ecr_opens with (FILLFACTOR=100)
> pg_dw-# as
> pg_dw-# select o.emailcampaignid, count(memberid) opencnt
> pg_dw-#   from openactivity o,ecr_sents s
> pg_dw-#  where s.emailcampaignid = o.emailcampaignid
> pg_dw-#  group by o.emailcampaignid;
>                                                  QUERY
> PLAN
> -------------------------------------------------------------------------------------------------------------
>  GroupAggregate  (cost=0.00..1788988.05 rows=9939 width=12)
>    ->  Nested Loop  (cost=0.00..1742467.24 rows=9279316 width=12)
>          ->  Index Scan using ecr_sents_ecid_idx on ecr_sents s
> (cost=0.00..38.59 rows=479 width=4)
>          ->  Index Scan using openact_emcamp_idx on openactivity o
> (cost=0.00..3395.49 rows=19372 width=12)
>                Index Cond: (o.emailcampaignid = s.emailcampaignid)
> (5 rows)

> Should this query be hashing the smaller table on Postgres rather than
> using nested loops?

Yeah, seems like it.  Just for testing purposes, do "set enable_nestloop
= 0" and see what plan you get then.

            regards, tom lane

pgsql-performance by date:

Previous
From: tv@fuzzy.cz
Date:
Subject: Re: Oracle v. Postgres 9.0 query performance
Next
From: Tony Capobianco
Date:
Subject: Re: Oracle v. Postgres 9.0 query performance