> On Postgres, this same query takes about 58 minutes (could not run
> explain analyze because it is in progress):
>
> 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)
>
Please, post EXPLAIN ANALYZE, not just EXPLAIN. Preferably using
explain.depesz.com.
regards
Tomas