Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[WD9] Problemes de lenteur

11 réponses
Avatar
serviroc
Bonjour,

J'ai pas mal de souci de lenteur sur mon système de gestion commerciale et
j'aimerais en trouver la cause.
J'ai une application en réseau WD9 avec base de données Hyperfile
Client/Server sur un Compaq Proliant ML350 avec BiProcesseur PIII 1.2Ghz et
1.2 Go De RAM.
J'ouvre un ma connexion au serveur hyperfile au démarrage de l'application !
Environ 20 personnes travaillent en simultanées.
Voici un exemple de mon code qui dure assez longtemp (une vingtaine de
secondes) :

J'accede a deux fichiers COMMANDE_CLIENT(75000 enregistrements),
ELEMENT_COMMANDE(150000 enregistrements).
Il me faut les commandes du client dont je passe le numéro en parametre ->
Num_client dans COMMANDE_CLIENT
Il me faut ensuite pour ces commandes, seulement celles ayant un element
expédiés entre les dates indiquées -> DATE_EXP dans ELEMENT_COMMANDE

reqCde = "SELECT COMMANDE_CLIENT.FACTAVOIR,COMMANDE_CLIENT.FORFAIT,
ELEMENT_COMMANDE.PXVENTE, ELEMENT_COMMANDE.DATE_EXP FROM COMMANDE_CLIENT,
ELEMENT_COMMANDE WHERE COMMANDE_CLIENT.NUM_CDE=ELEMENT_COMMANDE.NUM_CDE AND
COMMANDE_CLIENT.NUM_CLIENT='" + numéroclient + "' AND DATE_EXP BETWEEN '" +
DateDepart + "' AND '" + DateFin +"'"
Si HExécuteRequêteSQL(SrcCde,reqCde) alors
HLitPremier(SrcCde)
TANTQUE PAS Hendehors(SrcCde)

... <Suite du code>

HLitSuivant(SrcCde)
FIN
FIN

Comment puis-je faire pour optimiser ce code ?



Cordialement !


Serviroc

1 réponse

1 2
Avatar
mat
serviroc wrote:

et bien non car pour mon appli les numéro de client sont sur 6
caracteres avec les 2 premiers correspondant à leur département donc
042154 ou 094587 par exemple. Donc pour garder le zéro en première
position le numéro de client doit être en chaine.



Bonsoir,

Est-ce que ça marche maintenant, y a-t-il une autre solution, ou est-ce
abandonné ?

Merci
Mat
1 2