Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Multiuser slow down
Message
From
22/12/2005 11:15:31
Hilmar Zonneveld
Independent Consultant
Cochabamba, Bolivia
 
General information
Forum:
Visual FoxPro
Category:
Databases,Tables, Views, Indexing and SQL syntax
Environment versions
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Miscellaneous
Thread ID:
01080189
Message ID:
01080195
Views:
22
Sometimes this sort of behavior has been attributed to antivirus software, especially the one from Norton. Try to disable it (briefly, for testing only), or to exclude scanning of data files (*.dbf, *.fpt, *.cdx).

>I'm perplexed on why this code is slowing down and would love some help to determine why.
>
>When I run this local view query and only one user is running I get great sub-second speed. When two users are running I get 3 second plus speed after one of the users has run the same query and it stays that way until both users get out of the application.
>
>I have run the coverage profiler and determined this select to be the problem.
>
>The view originally was part of the DBC on the server, but I have moved it to be within the code and removed it from the DBC. As I understand it this should not have a locking problem.
>
>There are four tables (all within the DBC) and indexes exist for all fields referenced in the WHERE and JOIN.
>
>Here's the statement being used.
>
>SELECT Icpart.cupartid, ;
> Icinvt.ylist, ;
> Icprce.crectype, ;
> Icprce.iicsizeid, ;
> Icprce.csellunit, ;
> Icprce.yunitprice, ;
> Icinvt.iitemno, ;
> Icinvt.citemid, ;
> Icinvt.cdescrip, ;
> Icinvt.ndecnum, ;
> Icinvt.citemtype, ;
> Icinvt.cmatrix, ;
> Icinvt.cstkunit, ;
> Icinvt.clocation, ;
> Icinvt.cclass, ;
> Icinvt.lresell, ;
> Icinvt.lnotavailable, ;
> Icimxt.imxtno, ;
> Icimxt.nonhndshlf, ;
> Icimxt.nonhndwhse ;
> FROM ta700!icpart ;
> LEFT JOIN ta700!icinvt ON Icpart.iitemno == Icinvt.iitemno ;
> LEFT JOIN ta700!icimxt ON Icpart.iitemno == Icimxt.iitemno ;
> LEFT JOIN ta700!icprce ON Icpart.iitemno == Icprce.iitemno ;
> AND Icprce.crectype = This.cRecType ;
> AND Icprce.cSellUnit == Icpart.cSellUnit ;
> WHERE Icpart.cidtype <> This.cIDType ;
> AND Icpart.cupartid = This.cUPartID INTO CURSOR v_ICPartLookUpCmb
>
>
>Any insight would be appreciated.
>
>Jon
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform