set properties of TIBCQuery for maximum speed

Discussion of open issues, suggestions and bugs regarding IBDAC (InterBase Data Access Components) for Delphi, C++Builder, Lazarus (and FPC)
Post Reply
inageib
Posts: 184
Joined: Wed 26 Aug 2009 14:11

set properties of TIBCQuery for maximum speed

Post by inageib » Mon 29 Oct 2012 02:19

Hi,
I have TIBCQuery using it as lookup only for a table no write only read. the Table of course is huge and will increase every day (millions) and I need to allow the user to type a number in a lookup component so he easily can jump to that row number from the lookup.

I saw many options like autoprepare, fetchrows, flatbuffers, etc...

what are the properties and values I should use to optimize speed for that lookup table.

I use FireBird 2.5

Thanks

AndreyZ

Re: set properties of TIBCQuery for maximum speed

Post by AndreyZ » Mon 29 Oct 2012 10:29

Hello,

We suggest you to set the following options:
1. TIBCQuery.Options.DeferredBlobRead and TIBCQuery.Options.DeferredArrayRead to True. DeferredBlobRead and DeferredArrayRead are used for fetching all BLOB and array values correspondingly when they are explicitly requested. This will increase performance in case if your tables have BLOB and array fields.
2. TIBCQuery.ReadOnly to True.
3. TIBCQuery.FetchAll to True. In this case all data will be fetched to the client at once.
4. TIBCQuery.FetchRows to a value that gives the most data fetching speed on your network (it is individual for each network). FetchRows affects only data fetching speed.

inageib
Posts: 184
Joined: Wed 26 Aug 2009 14:11

Re: set properties of TIBCQuery for maximum speed

Post by inageib » Tue 30 Oct 2012 00:45

Many thanks

tried without any bound control and speed is fast but when I bind the devexpress lookup control it took 30 seconds to load the app. is that normal ?

AndreyZ

Re: set properties of TIBCQuery for maximum speed

Post by AndreyZ » Tue 30 Oct 2012 08:45

We do not develop DevExpress components, so we cannot answer why you encounter such performance problem using them. Please check this problem using the standard database access components. If you encounter this performance problem only using DevExpress components, you should contact the DevExpress support.

inageib
Posts: 184
Joined: Wed 26 Aug 2009 14:11

Re: set properties of TIBCQuery for maximum speed

Post by inageib » Wed 31 Oct 2012 01:42

yes thanks

AndreyZ

Re: set properties of TIBCQuery for maximum speed

Post by AndreyZ » Wed 31 Oct 2012 07:40

Have you reproduced this problem using the standard database access components? If yes, please write us.

inageib
Posts: 184
Joined: Wed 26 Aug 2009 14:11

Re: set properties of TIBCQuery for maximum speed

Post by inageib » Wed 31 Oct 2012 12:02

No it did not. performance is a lot better. will review the third party control options.

Thanks

AndreyZ

Re: set properties of TIBCQuery for maximum speed

Post by AndreyZ » Thu 01 Nov 2012 08:59

When you receive an answer to this performance problem from the DevExpress support (or find a solution yourself), please post it here. This information may be useful for all people who visit our forum.

markmoss
Posts: 4
Joined: Tue 06 Nov 2012 14:36

Re: set properties of TIBCQuery for maximum speed

Post by markmoss » Tue 06 Nov 2012 15:32

inageib

I to would like to find out what the final outcome was with devExpress, as I am upgrading an application to DelphiXE3 and we use devExpress.


Mark Moss
:mrgreen:

inageib
Posts: 184
Joined: Wed 26 Aug 2009 14:11

Re: set properties of TIBCQuery for maximum speed

Post by inageib » Wed 07 Nov 2012 11:43

Up to now I tried many things and only one thing increase the performance I removed the join from the lookup table and used only the main table with two columns to be listed instead. the lookup table with join was having about ~25 columns.

Post Reply