UniDAC slower than IBDAC

Discussion of open issues, suggestions and bugs regarding UniDAC (Universal Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
hdsupport
Posts: 2
Joined: Wed 23 Nov 2011 08:00

UniDAC slower than IBDAC

Post by hdsupport » Wed 23 Nov 2011 08:20

Hi,

We have recently switched from IBDAC to UniDAC, after which we experienced quite some slowing of the performance.

We use the components in a pooled environment (DataAbstract).
When we used IBDAC we had a maximum of 5 concurrent connections in the connection pool. After switching to UniDAC this has increased to around 12 concurrent connections.

This was the only change introduced to our server application, so it must be the reason to the decreased performance.

Are there any component settings that are important for speed, when creating the connections/queries/etc. (UniDAC)?

***EDIT***

I have discovered that the TUniQuery.SpecificOptions.FetchAll is set to False (default). I believe this should be set to True in my case.

I need all data at once, to pass it on to the client. What impact does it have to have FetchAll=False. Does it require futher connections/transactions?

And I do not need bidirectional dataset - so can I set UniDirectional=True together with FetchAll=True? Or is this incompatible?

Thanks.

---

Birger Buhl Dinesen / HD-Support ApS

AndreyZ

Post by AndreyZ » Thu 24 Nov 2011 14:37

Hello,

You are right. When FetchAll is False, additional sessions are created. To avoid it, you should set FetchAll to True.
Setting UniDirectional to True requires setting FetchAll to False. For more information, please read the description of the UniDirectional property in the UniDAC documentation.

hdsupport
Posts: 2
Joined: Wed 23 Nov 2011 08:00

Post by hdsupport » Thu 24 Nov 2011 14:46

Hi,

I have been using UniDAC Professional 3.70.0.17.

Changing the FetchAll property did not improve performance. Can you confirm that somthing has been fixed in the newer version (up to 4.0.2) associated with the SpecificOptions settings? It seemed like the FetchAll setting did not activate.

I have heard from others that upgrading to the newest version, may help improve perfomance. See the following:

http://connect.remobjects.com/discussio ... nydac-utf8

I have to set up some testing to verify performance, before using in production environment. Until then I will go back to IBDAC components.

AndreyZ

Post by AndreyZ » Fri 25 Nov 2011 16:05

SpecificOptions definition in the run-time was improved in UniDAC 4.0.2. Please try using UniDAC 4.0.2 (at least) and check if the problem with setting specific options persists.
UniDAC uses IBDAC functionality. That's why performance depends on different default options in UniDAC and IBDAC. Please check that with UniDAC you set the same options as with IBDAC. If the problem with performance persists, please try creating a small sample to demonstrate the problem and send it to andreyz*devart*com.

Post Reply