Re: Enhancing ADO Performance
From: Arnie Mauer (someone_at_microsoft.com)
Date: 06/24/04
- Next message: Arnie Mauer: "Re: Enhancing ADO Performance"
- Previous message: Todd Jaspers: "Re: Ok, I'm still confused.. SERVICE / ADO"
- In reply to: Dave: "Enhancing ADO Performance"
- Next in thread: Arnie Mauer: "Re: Enhancing ADO Performance"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 24 Jun 2004 10:23:51 -0400
"Dave" <dave@powerworld.com> wrote in message
news:40d9cd1a$1@newsgroups.borland.com...
> We are currently exploring the retrieval of data for our software from
> database sources by composing some small test applications (D7 Pro). We
> currently have applications constructed to retrieve data from ODBC
> tables using the native BDE connection and using the ADO connection. We
> worked with both because of the installation issues when using the BDE
> approach, such as the bundled BDE dll and potential registry access for
> BDE purposes during the application installation. It seems that ADO
> would avoid many of these BDE installation issues, but also seems to be
> somewhat slower in its data retrieval than the BDE application we've
> written to retrieve the same data from the same source.
>
> Does anybody have any suggestions on how to improve the performance of the
> ADO connection?
>
> Thanks
> Dave Savageau
We went through the same thing when porting from the BDE to ADO.
You can do a lot to tune up an ADO dataset or query via the properties. You
have to understand these. Check the help. For example, if looking up a lot
of data and hooking to a DB grid, use a server-side cursor (CursorLocation).
Only enough data will be brought over to the client to satisfy the grid. A
cient side cursor will read the entire result set over to the client.
If you're not hooked to a DB aware control and just have to read and process
the data (and a lot of it), set CursorType to ctOpenForwardOnly. ctKeyset
is required for hooking to a grid and is much slower because the grid has to
move forward AND backward in the result set.
If you're reading quite a bit of data, set the BlockReadSize property to
100-400. This improves performance quite a bit.
Also, as Del said, avoid the TADOTable like the plague.
HTH,
- Arnie
- Next message: Arnie Mauer: "Re: Enhancing ADO Performance"
- Previous message: Todd Jaspers: "Re: Ok, I'm still confused.. SERVICE / ADO"
- In reply to: Dave: "Enhancing ADO Performance"
- Next in thread: Arnie Mauer: "Re: Enhancing ADO Performance"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|