Subject Re: [IBO] IBO speed vs BDE?
Author Paul Schmidt
Chuck:

On 17 Apr 2001, at 14:43, Chuck Belanger wrote:

> I'm in the middle of a project which has been using BDE access for all
> queries, updates, etc and we need to look at ways of improving
> performance. We have a number of instances where a cascading query is
> made on the record set (about 40K records now, but could grow in the
> next few years to several hundred thousand), i.e. keep querying a
> parent_id of a record to create a tree view or listing.
>
> Recently worked on a portion of the code that goes through the file to
> do this and to do all 35K items, it took 5-10 minutes, depending what
> other applications were using memory. My experience has been with
> Visual FoxPro which would easily be 100x faster than this.
>
> Does anyone have experience in comparing a IBO vs a BDE access speeds
> to give me a broad idea of what kind of speed increases we can get by
> replacing the BDE components with IBO?

Nobody can give you an exact increase, because there are a number of
factors involved, some of which are beyond your control. The BDE is
Borlands version of the 800lb gorilla of database access, this is
similar but not as big or slow as MS-Jet. A system like BDE or Jet,
needs to be able to handle just about any back-end that you throw at
it, usually through ODBC. So you write SQL for the BDE, this is
translated into ODBC compatible SQL, which is then translated into
native mode SQL, each translation steals some performance. Now there
is also a second factor, when the SQL gets complex, BDE/Jet systems,
tend to send simple SQL to ODBC, get back a huge result, and then
sort it out on the client. IBO deals strictly with InterBase, so you
avoid the double translation layers (BDE->ODBC->Native), and all of
the processing can take place on the server. This means it will
always be faster the the BDE, how much faster, depends on your SQL,
if you write well tuned client/server centric SQL then it will be
much faster. If you write poorly tuned client centric SQL, then
performance may be very little faster, although it will always be
some faster.

IBO also has a much lower pain-in-the-donkey factor. The BDE needs
to have the ODBC driver installed, then BDE, then you need to monkey
with the registry to configure both. Where as IBO only needs the
runtime package included with your software's installation program,
which is installing a bunch of Delphi runtime packages anyway.

Paul

Paul Schmidt,
Tricat Technologies
Email: paul@...
Website: www.tricattechnologies.com