Re: Oracle v. Postgres 9.0 query performance

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Tony Capobianco <tcapobianco(at)prospectiv(dot)com>
Cc: pgsql-performance(at)postgresql(dot)org
Subject: Re: Oracle v. Postgres 9.0 query performance
Date: 2011-06-08 15:33:05
Message-ID: 10260.1307547185@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-performance

Tony Capobianco <tcapobianco(at)prospectiv(dot)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

In response to

Responses

Browse pgsql-performance by date

  From Date Subject
Next Message Tony Capobianco 2011-06-08 15:40:34 Re: Oracle v. Postgres 9.0 query performance
Previous Message tv 2011-06-08 15:31:26 Re: Oracle v. Postgres 9.0 query performance