Fetch all from ASA12 through ODBC is very slow

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
osarisnet
Posts: 2
Joined: Wed 28 Mar 2012 07:27

Fetch all from ASA12 through ODBC is very slow

Post by osarisnet » Wed 28 Mar 2012 07:54

Hello,

We're currently using BDE to access data from an ASA12 database in our delphi XE2 app.

We're investigating UniDAC to replace BDE components and we're testing the performances on one of our biggest list (180k records). We're connecting a TUniQuery to TwwDBGrid through a TUniDataSource. The TUniquery is readonly, fetchall false, ExtendedFieldsInfo false and FetchRows = 25.

It takes around 100 seconds (!!) to go from top to bottom of the list (with end key). In the same configuration, it takes 4 seconds to BDE to do the same. Memory consumption is ok in both cases.

We hope there is a trick to get better performances.

Regards

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Fri 30 Mar 2012 14:12

Hello,

To improve performance, set the FlatBuffers option to 'true' ( UniQuery1.Options.FlatBuffers := true ).However this can cause the increase of the volume of the memory used.

osarisnet
Posts: 2
Joined: Wed 28 Mar 2012 07:27

Post by osarisnet » Fri 30 Mar 2012 14:45

Hello,

With flat buffer the memory usage is the same ... and the speed too !

Are you sure there's no trick to fix this issue ? We've tested anydac and we have performances equivalent to BDE (4 or 5 seconds).

Regards

AlexP
Devart Team
Posts: 5530
Joined: Tue 10 Aug 2010 11:35

Post by AlexP » Mon 02 Apr 2012 14:41

hello,

We have checked this behaviour on a table with simple field types (and UniDAC showed better performance than BDE), therefore please send us the script for creating your table in order that we checked this behaviour once more with a real table.

Post Reply