Subject | Re: simple sql join ? |
---|---|
Author | Svein Erling Tysvær |
Post date | 2006-03-31T13:02:24Z |
How did you do it? Doing
select * from table1 full join table2 on 1=1 /*True*/
does count(tb1) * count(tb2), whereas
select * from table1 full join table2 on 1=0 /*False*/
does count(tb1) + count(tb2)
Though I've never used a full join, and it will be interesting to
learn whether it helps you with your indexing problem. Inner JOIN is
completely different from a FULL JOIN and it wouldn't surprise me if a
FULL JOIN didn't produce an optimal plan for your query. But try and
tell us the result.
HTH,
Set
select * from table1 full join table2 on 1=1 /*True*/
does count(tb1) * count(tb2), whereas
select * from table1 full join table2 on 1=0 /*False*/
does count(tb1) + count(tb2)
Though I've never used a full join, and it will be interesting to
learn whether it helps you with your indexing problem. Inner JOIN is
completely different from a FULL JOIN and it wouldn't surprise me if a
FULL JOIN didn't produce an optimal plan for your query. But try and
tell us the result.
HTH,
Set
--- In firebird-support@yahoogroups.com, Adomas Urbanavicius wrote:
> Where ? I have just tried to do so..
> Dimitry Sibiryakov wrote:
>
> >On 31 Mar 2006 at 14:40, Adomas Urbanavicius wrote:
> >
> >
> >
> >>Yes, and reads from tables : count(tb1) * count(tb2) . no good.
> >>
> >>
> >
> > Where did you get this stupid idea? Reads will be count(tb1) +
> >count(tb2) not more.