Subject Re: [IBO] Problem using locate
Author Svein Erling Tysvaer
John Costanzo wrote:
> As far as my particular application goes, the client wants it to=20
> work exactly as the Paradox version works, thuis forcing me to do=20
> lookups into the 3 million+ file. I will keep messing weith this in=20
> my spare time but for now it looks like I will have to stick with=20
> the BDE/Paradox version since it runs circles around the IBO version.

That is about as sensible as a postman insisting on bringing all the
mail to all houses on his route (say 100 kg) instead of just the mail
that is supposed to be delivered at that house (say 50 grammes), just in
case someone else should happen to be visiting the house where he brings
the mail. Is the mail to blame when he gets problems with his back?

Firebird is a client/server database that in a lot of situations is far
superior to Paradox. Likewise, IBO is superior to the BDE. But that is
when using both systems as they are designed to work. Trying to program
for IBO/Firebird the BDE/Paradox way will lead to problems. Learn
yourself the IBO/Firebird way to do things and either convince your
client that doing things this way is superior to what he is used to, or
try to write SQL that makes him unaware of that you've changed the rules.

You simply do not select 3 million+ records for online processing. At
most, Firebird transfers about 10000 records per second. That means at
least 6 minutes delay to transfer all records. Rather, when searching
for a particular ID, try searching for e.g. IDs from ID-20 to ID+20 (20
is a random chosen number, it doesn't matter if you increase this to
200) and then place yourself on the correct record of that small result
set. Issue a new query when he scrolls past the first or last record or
wants to sort depending on NAME rather than ID.

Set