Hi,
I just needed to do a full outer join between two very simple tables G
and N, each with a single-column PK of identical type char(12). I
noticed that the plan produces was:
PLAN JOIN (N NATURAL, G NATURAL)
I stopped the query after ~5 minutes. Then I thought I can do this
calculation in two steps, so I did a left outer join from G to N first,
then a left outer join from N to G (equivalent to a right outer join
from G to N). These queries were executed with these plans:
PLAN JOIN (G NATURAL, N INDEX (PK_N))
PLAN JOIN (N NATURAL, G INDEX (PK_G))
They both executed in less than half a minute each.
Now, I was wondering why the full outer join can't do a left join using
the right table's PK and then a right join using the other table's PK.
This is essentially what I did with the latter two queries.
The full join operation seems to do something that's a lot less
efficient (whatever it is that it does).
I'm still on FB 2.5.2, so... has this been improved in 3.0?
Thanks,
Kjell
--
Marknadsinformation logotyp
Kjell Rilbe
Telefon: 08-761 06 55
Mobil: 0733-44 24 64
Marknadsinformation i Sverige AB
Ulvsundavägen 106C
168 67 Bromma
www.marknadsinformation.se <http://www.marknadsinformation.se>
08-514 905 90
Företagskontakt.se <http://xn--fretagskontakt-vpb.se>
Personkontakt.se <http://personkontakt.se>