ADO performance

From: Guillermo Ortega A. (gortega_at_dcf.pemex.com)
Date: 07/01/04


Date: Thu, 1 Jul 2004 12:24:34 -0500

Hi,

I've a persistence framework in wich I can swich from unsing ADO or
dbExpress or BDE but I have tested the performance against an oracle
database and ADO is 200 times slower (aprox) than dbExpress or BDE. For
testing I use 3 threads and the code is the same the only change is the ADO
connection object. For the queries in ADO i have set the properties as shown

  Query.CursorType := ctOpenForwardOnly;
  Query.LockType := ltReadOnly;
  Query.DisableControls;

The persistence framework get the results in a query and after it assigns
the field Values (Query.Fields[index].Value) to the corresponding object
property what I mean is that I do someting like

While NOT Query.Eof do
begin
    for i := 0 to Query.Fields.count - 1 do
    begin
        SetPropValue(myObject,PropertyName,Query.Fields[i].Value);
...
    end;
...
end;

That code is the same for all processing the only different thing is that
Query can be TQuery, TADOQuery or TSQLQuery.

Does any one knows what else to watch in order to get a better performance
with ADO?

Thanks.

Guillermo



Relevant Pages

  • Re: Selecting Databases
    ... > I want to change my fondemental base from BDE to one another Technology, ... > Which Technology recommended, dbExpress or ADO? ... The BDE is not recommended for new projects now, ... dbExpress is lightweight, ...
    (borland.public.delphi.database.ado)
  • Re: dbGO for .NET (aka ADOExpress) - dont hold your breath
    ... (Is going from ADO to ADO.net that difficult. ... When ADOExpress came out in D5, I pretty much abandoned the BDE, ... and the component architecture is pretty ... If I had moved my architecture to dbExpress, ...
    (borland.public.delphi.non-technical)
  • Re: ADO or DBExpress?
    ... > We've been struggling for a while to figure out if we need ADO or DBExpress ... Currently we're using BDE components. ... I use dbExpress for some of my personal stuff. ... If ease of development and reliability is ...
    (borland.public.delphi.database.ado)
  • Re: ADO performance
    ... eoAsyncFetch/eoAsyncFetchNonBlocking and the CacheSize to 10ish (size ... For the queries in ADO i have set the properties as ... > The persistence framework get the results in a query and after it assigns ...
    (borland.public.delphi.database.ado)
  • Re: ADO performance
    ... "Guillermo Ortega A." ... For the queries in ADO i have set the properties as ... > The persistence framework get the results in a query and after it assigns ... > Query can be TQuery, ...
    (borland.public.delphi.database.ado)