Memory problems
Posted: Fri 16 Mar 2012 18:33
Hello!
I have a table with around 30 columns and 30-40.000 records.
I try to select all the data from the table and display it in a VirtualTreeView.
The problem is that on a less powerful older computer the system slows down and eventually gives an "unable to allocate memory from operating system" EIBCError at the IBCQuery.Next; line.
If I do the same query in FlameRobin and fetch all rows my system doesn't slow down.
I've tried commenting out the data display part and if I simply do the SELECT with TIBCQuery, then keep looping with while not IBCQuery.Eof do IBCQuery.Next; I still get the slowness and memory problems.
I have experimented with the parameters, FetchAll is false, tried setting DeferredBlobRead to true but to no avail.
Could you recommend any other settings and variations I should try?
BTW: To me it seems that IBDAC is trying to hold the entire dataset in the memory. But is there a way to make it "forget" records that I have already fetched and displayed?
Thanks!
I have a table with around 30 columns and 30-40.000 records.
I try to select all the data from the table and display it in a VirtualTreeView.
The problem is that on a less powerful older computer the system slows down and eventually gives an "unable to allocate memory from operating system" EIBCError at the IBCQuery.Next; line.
If I do the same query in FlameRobin and fetch all rows my system doesn't slow down.
I've tried commenting out the data display part and if I simply do the SELECT with TIBCQuery, then keep looping with while not IBCQuery.Eof do IBCQuery.Next; I still get the slowness and memory problems.
I have experimented with the parameters, FetchAll is false, tried setting DeferredBlobRead to true but to no avail.
Could you recommend any other settings and variations I should try?
BTW: To me it seems that IBDAC is trying to hold the entire dataset in the memory. But is there a way to make it "forget" records that I have already fetched and displayed?
Thanks!