From: dev@archonet.com
To: Carmen Sarlo <SarloC@Jevic.com>
Cc: 'dev@archonet.com' <dev@archonet.com>
Cc: pgsql-sql@postgresql.org
Subject: Re: Poor performance on a right join
Date: Mon, 17 Mar 2003 20:33:07 -0000 (GMT)
Message-ID: <49167.192.168.1.32.1047933187.squirrel@mainbox.archonet.com> (raw)
In-Reply-To: <3BCE0BA7092FD311BE570008C75DB4F80A46ABB4@EXCHANGE>
References: <3BCE0BA7092FD311BE570008C75DB4F80A46ABB4@EXCHANGE>
> Here's the EXPLAIN output:
>
> EXPLAIN ANALYZE SELECT a.CALL_DATE, a.OPERATOR_ID, a.CUST_CODE FROM
> PHONE as b right join CALLHIST as a on (a.CUST_CODE=b.CUST_CODE) where
> (b.PHONE
> = '847-478-2100') order by a.call_date desc;
> NOTICE: QUERY PLAN:
>
> Sort (cost=14320.04..14320.04 rows=60466 width=68) (actual
> time=5104.37..5104.3
> 8 rows=23 loops=1)
> -> Merge Join (cost=0.00..8157.88 rows=60466 width=68) (actual
> time=1396.24.
> .5104.08 rows=23 loops=1)
> -> Index Scan using phone_custcode_idx on phone b
> (cost=0.00..345.34 r
> ows=11395 width=28) (actual time=0.28..473.16 rows=11402 loops=1)
> -> Index Scan using callhist_cust_idx on callhist a
> (cost=0.00..4667.4
> 8 rows=60466 width=40) (actual time=0.37..3717.76 rows=254386 loops=1)
> Total runtime: 5104.58 msec
I might be wrong, but it looks like the join is happening before filtering
on the phone number (rows=254386). What happens if you don't use and
explicit join:
...WHERE a.CUST_CODE=b.CUST_CODE AND b.PHONE = '847-478-2100'...
- Richard Huxton
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: dev@archonet.com, SarloC@Jevic.com
Subject: Re: Poor performance on a right join
In-Reply-To: <49167.192.168.1.32.1047933187.squirrel@mainbox.archonet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox