Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
VFP5 Network Performance
Message
De
12/07/1997 13:27:04
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Divers
Thread ID:
00039393
Message ID:
00039677
Vues:
38
>> I was having some performance problems with VFP5 using Views to load a
>> form. I tested the performance of the view "requeries()" on the network vs
>> the local drive. Over about 7 different views I found the total time to
>> retrieve them from the net took 6 TIMES LONGER than from the local drive.
>> I checked to see if the base tables were opened as shared on both local and
>> net views, and they were, so there is no difference there. The view with
>> the longest execution time (5-6 seconds) retrieves only 1 record from a one
>> table of 17K records with a field length of 239 bytes (including 2 memo
>> fields) no field calculations, no order or group by's, using a simple
>> parameter statement (WHERE Lot.lotnumber = ?lcLotno AND lot.partnumber =
>> ?lcpartno). We are on a Novell network using version 3.5 I believe. I am
>> not a network expert, but maybe someone can tell me whats going on here.
>> It even looks like it takes longer to do a USE IN TABLENAME on the net!
>
>Unless you've got a killer server, access time from the server will
>generally be a somewhat longer than access time from the local drive.
>But you can reduce that as much as possible by:
>
>1) running the application from your local drive (we've talked about
>strategies for copying the application to the local drive on startup)
>
>2) having the FoxPro libraries loaded on the local drive
>
>3) having the .TMP files on the local drive
>
>4) ensuring that the queries are as optimized as possible. This means
>checking the indexes on the tables to ensure that every field in the
>WHERE and JOIN clauses is indexed (including DELETED()), possibly
>breaking a single large SELECT into multiple smaller and more efficient
>ones. Also ensure that a SELECT into a cursor actually puts the results
>into a cursor, rather than just filtering the original table (use the
>NOFILTER clause).
>
>HTH
>
>/Paul

Thanks for the advice. I should clarify some of the specifics about what I am doing. I am running everything on a local drive (i.e. executable, tempfiles) except the DBC and the tables. I am using local views. I am not joining anything on the example I supplied, its a single table view. I will try indexing on the two fields I have in my WHERE clause to see if that helps. That would not explain the difference in retrieval time from the local drive to the net, since both tables (local and network) were not indexed on these fields. So I guess I am wondering if I can expect a 6X increase in retrieval time on a network vs a local drive?

tc
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform