Subject Re: [IBO] Newbie Performance Question
Author Geoff Worboys
> I have been trying the IBObjects components with a database
> that contains roughly 2.5 million records. For some strange
> reason I have found that the performance is slower than with
> the BDE.
<...>
> Is this something that is inherent to IBO components? Is
> there any way that I can stop the pauses without
> significantly restructuring my application? Would it be
> worth converting to the native components?

It is possible to build an application that will run slower in IBO, as
you have discovered. Some things to look out for...

Make sure your dataset is not having to reprepare with every
operation. IBO does a lot of work during prepare (more than the BDE
etc) in order to optimise performance over remote connections.

Another thing to watch is how you are handling transactions. Under
the BDE you have no control, under IBO it is possible to manage them
to reduce performance.

Another item that can help, is to review what you are doing and make
sure you use components suitable to the purpose. TIBOQuery may be OK
for interactive work, but you are generally better off using
TIB_Cursor, TIB_DSQL etc for work done in code.

The TIBO* (TDataset) based components use native components
internally, so generally there is not too much performance difference.
However the different requirements of things like TDBGrid may impact
the performance.

And last, but certainly not least, you need to review your SQL and
code and make it client/server friendly. IBO is optimised for
client/server use.


I have been very generic in my answer, because a detailed answer to
any of the above would take a long time. Your best bet is to post
more detailed information concerning your specific problem; details of
the table and sql that you are using, details of the code and
components you are using to perform the processing required. I am
confident that we can help you get much better performance using IBO.


Side Note: You do not require the native components to achieve
performance, but there are many other reasons to take a good look at
them. See some of the sample and tutorial applications for examples.


Geoff Worboys
Telesis Computing