Post by Patrick R » Wed, 30 Jul 2003 00:34:59

I am converting a Delphi 5 application to Delphi 6, and in the process am
switching from BDE to ADO. When I ran some timing tests (BDE vs ADO) on my
queries, I found that a query that takes .04 seconds via BDE took .15
seconds via ADO. I tried various combinations of cursor type, lock type, and
cursor location for the query, without appreciably speeding up the query. I
have the connection parameters set as follows:
Cursor Location - Client
Isolation Level - Cursor Stability
Connect Option - Connect Unspecified
Mode - Unknown

Has anyone encountered such a problem, and if so, is there as solution
within the confines of Delphi 6/ADO?
tks Pat


Post by Sundial Se » Wed, 30 Jul 2003 02:37:36

At this point in time, I think that ADO would be a better long-term choice.
Differences of 11/100ths of a second are not compelling. Many of the costs
that you're describing may be "one-time" costs such as the time spent
preparing a query: once the query has been prepared once it can be

Algorithm design is critical in any high-volume application. If you're
contemplating issuing thousands of slightly-different queries then there's
probably a different way to do it. (Notez vous, that those "different ways
to do it" might themselves have contra-indications, such as locking too
much or all of the table in an environment that doesn't permit this.) It's
really an issue that can't be reduced to any sort of "bright line" rule.

But I do think that the choice between BDE and ADO can't be decided based on
eleven hundredths of a second.



Post by Patrick R » Sat, 02 Aug 2003 04:49:02

'Sundial Services', thank you for your response. In fact, our programs do
performs hundreds of slightly different queries on a database with well over
200,000 records in about 30 tables in a MSSQL database....there are also
continual background queries going on to constantly update a graphical user
interface that shows system status. I'm not as worried about a .11 seconds
on one query, as I am about the implication - database I/O takes 4 times as
long (.04 vs .15). Timing tests show our system grinding to halt, taking
almost 4 times as long to perform I/O bound logic (which is practically all
our logic...!) With BDE, the system performed easily up to expectations, and
is now installed around the world. We have approval to replace BDE with ADO
and upgrade from Delphi 5 to Delphi 6, but we don't have carte blanche to
completely rewrite the system. I believe you're telling me that we would
need to do this to cache some of the queries...?
thank you, Pat Reddan



Post by Paul van d » Fri, 26 Sep 2003 01:28:41

If the loss of performance is such a problem, why don't you stay with BDE?
It's not like it is discontinued.

Greets, Paul

"Patrick Reddan" < XXXX@XXXXX.COM > schreef in bericht