PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WEBDEV 2024 → Optimiser le code
Optimiser le code
Iniciado por jbgau, mar., 21 2006 6:27 PM - 1 resposta
Publicado em março, 21 2006 - 6:27 PM
Bonsoir,

J'ai un code tout simple de parcours d' un fichier hyper file avec recherche si le numéro existe dans une base de donnée ACCESS.

Mon problème est que mon fichier HF contient 400 000 enregistrements et que lors de mes tests en me basant sur les 1000 premiers enregistrements 7 minutes pour me faire la mise à jour ce qui donne pour 400 000 enr. plus de 45 heures.

ci-dessous mon code :

test est un booléen
nbsup est un entier


test=HDéclareExterne("BDIEEEMEMBERS","bdieeemember","","","D:\data\reel\2006icassp\BDIEEEMEMBERS.mdb",hOledbAccess2000)


HLitPremier(MEMBER,IDMEMBER)
TANTQUE PAS HEnDehors()
HLitRecherche(bdieeemember,"IDMEMBER",MEMBER.IDNUMIEEE)
SI PAS HTrouve ALORS
MEMBER.STATUT=0
nbsup++
HModifie(MEMBER)
FIN
HLitSuivant(MEMBER,IDMEMBER)
FIN

SI quelqu'un peut m'aider à reduire le temps de mise à jour. Merci

Jean-Brice GAU
Publicado em março, 21 2006 - 9:28 PM
Jean-Brice GAU a écrit :
Bonsoir,

J'ai un code tout simple de parcours d' un fichier hyper file avec recherche si le numéro existe dans une base de donnée ACCESS.

Mon problème est que mon fichier HF contient 400 000 enregistrements et que lors de mes tests en me basant sur les 1000 premiers enregistrements 7 minutes pour me faire la mise à jour ce qui donne pour 400 000 enr. plus de 45 heures.

ci-dessous mon code :

test est un booléen
nbsup est un entier


test=HDéclareExterne("BDIEEEMEMBERS","bdieeemember","","","D:\data\reel\2006icassp\BDIEEEMEMBERS.mdb",hOledbAccess2000)


HLitPremier(MEMBER,IDMEMBER)
TANTQUE PAS HEnDehors()
HLitRecherche(bdieeemember,"IDMEMBER",MEMBER.IDNUMIEEE)
SI PAS HTrouve ALORS
MEMBER.STATUT=0
nbsup++
HModifie(MEMBER)
FIN
HLitSuivant(MEMBER,IDMEMBER)
FIN

SI quelqu'un peut m'aider à reduire le temps de mise à jour. Merci

Jean-Brice GAU





A vue de nez, une requete de mise à jour (UPDATE en SQL) sera surement
plus rapide