Subject RE: [firebird-support] Interbase 6.0.1.6
Author Helen Borrie
At 08:05 AM 29/01/2004 +1000, you wrote:
>1. Can we run a firebird install( does it exist) straight over the top of a
>currently installed IB 6.0.1.6?

Definitely not. Firebird 1.5 can coexist with an IB or Firebird 1.0 server
on the same machine but neith 1.5 nor 1.0 can be installed "straight over
the top".

>2. More specifics.
>With IB we found that an SQL
>
>Select *
>from ATABLE
>where
> ( AField IN ( Select BField from anothersmalltable ))
>
>took 10 minutes

How "small" is anothersmalltable?

For IB 6, a better query is
Select A.*
from ATABLE A
where exists (
( Select 1 from anothersmalltable B
where A.Afield = B.Bfield )

Firebird optimises IN(subquery) to an EXISTS() query, which helps some.


>where
>
>select *
>from ATABLE
>where
>( AField = 'AValue' )
>
>run multiple times and appended to a clientdataset took 5 seconds.

5 seconds is still waaaaaaay too long unless ATable has gazillions of rows.

Something is wrong there. What's the size of the table?


>I am perplexed and troubled by this discrepancy.

I would be, too. Neither of these queries performs close to what IB and FB
are capable of. What kind of data is AField? is it, for example, a
foreign key with a very low catchment of possible values? This one's a
performance killer.

NB - please trim your replies !!!!!!!!!!!!!!!!!!!!

/heLen