General information
Title:
Remote view speed w/ large data set, vs select to a cursor
I have a sql server table with 85K rows, a sales order line item file. Unfortunately for this application, it is difficult to come up with parameter conditions to limit the # of rows to retrieve - it makes more sense to download the whole file for the application I am working with.
In my testing, when I open the view with the use command, it takes about 3 minutes for the view to 'fully open'. What I mean by that is that when I look at the progress on the status bar, it doesn't show the full record count for 3 minutes. In other tests, if I attempt any type of io operations such as skip or replace, before the view is 'fully loaded', execution pauses on the line, forever, and/or gives me a connection is busy error.
How can I 'test if the view is ready for processing', without generating the connection busy error? For example I have code similar to the following
use v_sostrs
** need to put in some some kind of wait/loop test for view being ready
** or the same after a requery
go top
do while not eof()
REPLACE SOMEVALUE IN V_SOSTRS &&hangs or times out connection is busy
SKIP
enddo
If I execute lnresult=sqlexec(lnhandle, 'select * from sostrs','cursostrs')
It takes about 6 seconds to download 85K rows. Thereafter I can perform any io operation on the cursor that I want.
why is there such a dramatic difference here? Is it possible to make the cursor created with sqlexec(lnhandle, 'select * from sostrs','cursostrs')updatable?
Am I missing something simple or obvious, or not testing correctly?
Any suggestions would be appreciated
TIA
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only