> 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