Re: Removing INNER JOINs - Mailing list pgsql-hackers

From Atri Sharma
Subject Re: Removing INNER JOINs
Date
Msg-id CAOeZVidR1_JoQA_6xUvnmsZVyzwmZpEEUBwK8R01gc1GaQZg7Q@mail.gmail.com
Whole thread Raw
In response to Re: Removing INNER JOINs  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: Removing INNER JOINs  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers


On Wed, Dec 3, 2014 at 11:03 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
Stephen Frost <sfrost@snowman.net> writes:
> * Tom Lane (tgl@sss.pgh.pa.us) wrote:
>> However, even granting that that is a concern, so what?  You *have* to
>> do the planning twice, or you're going to be generating a crap plan for
>> one case or the other.

> Yeah, I don't see a way around that..

Also, it occurs to me that it's only necessary to repeat the join search
part of the process, which means that in principle the mechanisms already
exist for that; see GEQO.  This means that for small join problems, the
total planning time would much less than double anyway.  For large
problems, where the join search is the bulk of the time, we could hope
that removal of unnecessary joins would reduce the join search runtime
enough that the second search would be pretty negligible next to the
first (which is not optional).  So I think "it'll double the runtime"
is an unfounded objection, or at least there's good reason to hope it's
unfounded.


Is it possible to only replan part of the plan in case of this optimization? I think that we might need to only replan parts of the original plan (as you mentioned, join search and above). So we could reuse the original plan in part and not do a lot of replanning (an obvious case is scan strategy, which we can assume will not change for the two plans).

I wonder if we could have a rule based system for replacement of some plan nodes with other type of nodes. As we discover more cases like this, we could add more rules. Wild thought though. 


--
Regards,
 
Atri
l'apprenant

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: Removing INNER JOINs
Next
From: Robert Haas
Date:
Subject: Re: Removing INNER JOINs