Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Remote view speed w/ large data set, vs select to a cur
Message
De
30/07/2002 11:33:15
 
 
À
30/07/2002 11:15:01
Information générale
Forum:
Visual FoxPro
Catégorie:
Client/serveur
Divers
Thread ID:
00683953
Message ID:
00683968
Vues:
25
Since I posted this, I did more studying and now realize that I can test for the connection busy with sqlgetprop(lnhandle,'connectbusy') and/or set connecttimeout to 0 - .

Also, I see that there is a packetsize parameter for the connection. I haven't experimented with this to see if changing it would improve performance.

The bottom line is I want to know whether there is a way to tweak the views to perform at the same level as the sqlexec(). I understand in a very general way that views are just supposed to be a wrapper around spt, so it seems like I should be able to solve this problem. I just don't understand the relationship between remote views and spt as well as I need to.



>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
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform