Sv: Re: Removing INNER JOINs

From: Andreas Joseph Krogh <andreas(at)visena(dot)com>
To: Simon Riggs <simon(at)2ndquadrant(dot)com>
Cc: David Rowley <david(dot)rowley(at)2ndquadrant(dot)com>, pgsql-general(at)lists(dot)postgresql(dot)org
Subject: Sv: Re: Removing INNER JOINs
Date: 2017-12-01 02:34:55
Message-ID: VisenaEmail.0.7f0f42accca972d5.1600fec0b4c@tc7-visena
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

På fredag 01. desember 2017 kl. 03:30:21, skrev Simon Riggs <
simon(at)2ndquadrant(dot)com <mailto:simon(at)2ndquadrant(dot)com>>:
On 1 December 2017 at 12:20, David Rowley <david(dot)rowley(at)2ndquadrant(dot)com> wrote:
> On 1 December 2017 at 02:52, Andreas Joseph Krogh <andreas(at)visena(dot)com>
wrote:
>>
>> I came across this from Oracle:
https://oracle-base.com/articles/misc/join-elimination#basic-join-elimination
>>
>> Needless to say, this would be very cool to have in PG:-)
>
> It would be nice, I agree.
>
>> It seems this has been discussed before [1], [2], [3], and the consesus at
the time was that the proposted implementation introduced way too much
planning-overhead to be worth it. Given that other RDBMS-vendors provides this,
and it's on the "Cool feactures other have that we don't"-list [4], is anyone
interessted in working on improving this?
>
> The large hurdle which a good workaround was never really found for
> was the fact that foreign key triggers only update the referenced rows
> at the end of the statement, or end of query when the foreign key
> constraint is deferred. I don't recall much concern about planner
> overhead. It's likely not going to be too big a concern since we're
> already checking for foreign keys nowadays during selectivity
> estimation.
>
> I do still have all the code I wrote all those years ago, and possibly
> it will still apply to master as I rebased it just several months ago.
> I've just not yet come up with any bright ideas on how to solve the
> foreign key trigger timing problem.

So it would work if the Foreign Keys are marked NOT DEFERRABLE?
 
Can someone please explain, in layman-terms, what the problems with FKs are
related to JOIN-removal?
 
-- Andreas Joseph Krogh
CTO / Partner - Visena AS
Mobile: +47 909 56 963
andreas(at)visena(dot)com <mailto:andreas(at)visena(dot)com>
www.visena.com <https://www.visena.com>
<https://www.visena.com>

 

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message David Rowley 2017-12-01 02:35:41 Re: Removing INNER JOINs
Previous Message Simon Riggs 2017-12-01 02:30:21 Re: Removing INNER JOINs