pg.ddx.io  pgsql-sql@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Dean Gibson (DB Administrator) <postgresql4@ultimeth.com>
To: pgsql-sql <pgsql-sql@postgresql.org>
Subject: Re: What does "merge-joinable join conditions" mean ????
Date: Sun, 15 Jan 2006 15:47:56 -0800
Message-ID: <43CADF2C.7010100@ultimeth.com> (raw)
In-Reply-To: <24424.1137368560@sss.pgh.pa.us>
References: <43CAAFA6.6050001@ultimeth.com>
	<20060115215448.GA30809@winnie.fuhr.org>
	<43CACC78.7090107@ultimeth.com>
	<24299.1137367313@sss.pgh.pa.us>
	<43CADB44.70309@ultimeth.com>
	<24424.1137368560@sss.pgh.pa.us>

On 2006-01-15 15:42, Tom Lane wrote:
>   
>> EXPLAIN SELECT count(*)  FROM "Extra" FULL JOIN  "GeoRestrict" ON 
>> callsign ~ pattern  WHERE geo_region = 
>> 4;                                            
>>     
>
> Oh, but that reduces it to a left join, as you can see in the EXPLAIN
> output ---
Yes, I previously noticed that in the EXPLAIN output too.

>  any null-extension rows from the right side are going to fail
> the WHERE condition anyway, so the planner simplifies the FULL JOIN to a
> LEFT JOIN.  If you'd eliminate the WHERE altogether then the failure
> will come back.
>
>   
Tried that, and you are right there as well.

So, given the fact that the right-hand-table is only about 15 rows, do 
you think changing the SELECT back to a LEFT JOIN, and then using a 
UNION to get the extra right-hand-rows in, is the best work-around?

-- Dean




view thread (9+ messages)  latest in thread

Message-ID: <43CADF2C.7010100@ultimeth.com>
Permalink:  ../43CADF2C.7010100@ultimeth.com/
Also on:    postgresql.org/message-id/43CADF2C.7010100@ultimeth.com

 · 

reply

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: postgresql4@ultimeth.com
  Subject: Re: What does "merge-joinable join conditions" mean ????
  In-Reply-To: <43CADF2C.7010100@ultimeth.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