Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Multiuser slow down
Message
De
24/12/2005 21:36:55
Mike Yearwood
Toronto, Ontario, Canada
 
 
À
24/12/2005 20:50:31
Information générale
Forum:
Visual FoxPro
Catégorie:
Base de données, Tables, Vues, Index et syntaxe SQL
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
Visual FoxPro
Divers
Thread ID:
01080189
Message ID:
01080745
Vues:
15
Hi Hank

>
>It's enough to make one give up on using views (except our apps have to be able to run on multiple backends).

With a cursor adaptor (or equivalent using SPT) there's no need to use views.

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

Click here to load this message in the networking platform