Print Thread
DOA Speed
#2704 11/01/01 01:59 PM
Joined: Jun 2000
Posts: 25
Moscow, Russia
D
Member
OP Offline
Member
D
Joined: Jun 2000
Posts: 25
Moscow, Russia
Marko, All

I did a simple test (C++ Builder):

start = TDateTime::CurrentDateTime();
DataSet->Open();
while( !DataSet->Eof)
{
for( int i =0; i<DataSet->Fields->Count; i++)
switch( DataSet->Fields->Fields[i]->DataType ){
ftString :
ftSmallint :
ftInteger :
ftWord ;
ftBoolean :
ftFloat :
ftCurrency:
ftBCD :
ftDate:
ftTime:
ftDateTime :
ftBytes :
ftAutoInc :
ftMemo :
ftFmtMemo :
ftFixedChar :
ftWideString :
ftLargeint :
ftVariant :
temp=DataSet->Fields->Fields[ i]->AsString; // test
}
DataSet->Next();
}
finish = TDateTime::CurrentDateTime();

The same query shows (in seconds)
BDE, Oracle Links 109 - 115
DOA 111 - 115
ADO (MS OLE DB for Oracle) 108 - 112

The speed seems to be the same, even ADO a little bit faster, although I thought that DOA should be fastest.

Any comments?


Dmitri
Re: DOA Speed
#2705 11/01/01 04:49 PM
Joined: Aug 1999
Posts: 22,220
Member
Offline
Member
Joined: Aug 1999
Posts: 22,220
Any speed benchmark depends on a lot of variables.

If the network is a bottleneck and you are fetching many records, then setting TOracleDataSet.ReadBuffer to a higher value may help.

If client processing is the bottleneck, then using a TOracleQuery might help. This component has little overhead and is very well suited for batch operations.

If the actual query processing on the server (e.g. a large internal sort) is the bottleneck, then nothing will help. Except rewriting the query or adding some indexes of course.



------------------
Marco Kalter
Allround Automations


Marco Kalter
Allround Automations

Moderated by  support 

Link Copied to Clipboard
Powered by UBB.threads™ PHP Forum Software 7.7.4
(Release build 20200307)
Responsive Width:

PHP: 7.1.33 Page Time: 0.121s Queries: 13 (0.030s) Memory: 2.4992 MB (Peak: 3.0405 MB) Data Comp: Off Server Time: 2024-05-16 22:38:25 UTC
Valid HTML 5 and Valid CSS