Bruce Momjian wrote:
>
> > Bruce Momjian wrote:
> > >
> > > Can someone comment on what Bushy plans do in the optimizer, and whether
> > > the code has any value?
> >
> > No, currently. But please don't remove them. It would be nice
> > to have bushy plans implemented.
>
> Please tell me what they are supposed to do. I can get it working, I
> think. I will not remove it. I have ifdef'ed it, though. If you tell
> me what it is, I will check it to see if it works.
It doesn't work (failed assertion).
Well, currently both geqo and old optimizer produces
left-sided plans: inner relation of an join is always
_base_ relation (not join relation). In bushy plans
both outer and inner relations may be join ones.
~1.5 - 2 years ago I added right-sided plans:
outer relation is base, inner relation may be join.
Sometimes right-sided plans are 30% faster than left-sided.
Bushy plans could be more faster...
BTW, I broke execution of right-sided plans ~ 1 year ago
while implementing subqueries (near materialization node)
and still have no time to fix it (seems no one except me
used them so I didn't worry about this -:)).
Vadim