set properties of TIBCQuery for maximum speed
set properties of TIBCQuery for maximum speed
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
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
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.
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.
Re: set properties of TIBCQuery for maximum speed
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 ?
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
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.
-
AndreyZ
Re: set properties of TIBCQuery for maximum speed
Have you reproduced this problem using the standard database access components? If yes, please write us.
Re: set properties of TIBCQuery for maximum speed
No it did not. performance is a lot better. will review the third party control options.
Thanks
Thanks
-
AndreyZ
Re: set properties of TIBCQuery for maximum speed
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.
Re: set properties of TIBCQuery for maximum speed
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

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
Re: set properties of TIBCQuery for maximum speed
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.