Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Performance
Message
De
30/11/1999 15:54:55
 
 
À
30/11/1999 13:07:56
Todd Wolfe
Certified Marketing Services
Kinderhook, New York, États-Unis
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Divers
Thread ID:
00296979
Message ID:
00297103
Vues:
27
Two things:

1) SCAN/ENDSCAN is always faster than DO WHILE NOT EOF()/SKIP/ENDDO
2) The WHERE statements are probably not optimized. You need to exactly match the index key. For information on Rushmore optimization, see the KB article on my web site.



>Can anyone spead this up! This takes 10 minutes to run on looping through 2000 records several times.
>
>
>DO WHILE !EOF()
>
> UPDATE data;
> SET data.trailer1=aud_trls.trailer;
> WHERE ALLTRIM(data.ACCOUNT)=ALLTRIM(aud_trls.ACCOUNT) AND aud_trls.max_trail=1;
> and alltrim(data.screennum)=alltrim(aud_trls.screennum);
> and alltrim(data.showtime)=alltrim(aud_trls.showtime)
>
> UPDATE data;
> SET data.trailer2=aud_trls.trailer;
> WHERE ALLTRIM(data.ACCOUNT)=ALLTRIM(aud_trls.ACCOUNT) AND aud_trls.max_trail=2;
> and alltrim(data.screennum)=alltrim(aud_trls.screennum);
> and alltrim(data.showtime)=alltrim(aud_trls.showtime)
>
> UPDATE data;
> SET data.trailer3=aud_trls.trailer;
> WHERE ALLTRIM(data.ACCOUNT)=ALLTRIM(aud_trls.ACCOUNT) AND aud_trls.max_trail=3;
> and alltrim(data.screennum)=alltrim(aud_trls.screennum);
> and alltrim(data.showtime)=alltrim(aud_trls.showtime)
>
> UPDATE data;
> SET data.trailer4=aud_trls.trailer;
> WHERE ALLTRIM(data.ACCOUNT)=ALLTRIM(aud_trls.ACCOUNT) AND aud_trls.max_trail=4;
> and alltrim(data.screennum)=alltrim(aud_trls.screennum);
> and alltrim(data.showtime)=alltrim(aud_trls.showtime)
>
> UPDATE data;
> SET data.trailer5=aud_trls.trailer;
> WHERE ALLTRIM(data.ACCOUNT)=ALLTRIM(aud_trls.ACCOUNT) AND aud_trls.max_trail=5;
> and alltrim(data.screennum)=alltrim(aud_trls.screennum);
> and alltrim(data.showtime)=alltrim(aud_trls.showtime)
>
> UPDATE data;
> SET data.trailer6=aud_trls.trailer;
> WHERE ALLTRIM(data.ACCOUNT)=ALLTRIM(aud_trls.ACCOUNT) AND aud_trls.max_trail=6;
> and alltrim(data.screennum)=alltrim(aud_trls.screennum);
> and alltrim(data.showtime)=alltrim(aud_trls.showtime)
>
> UPDATE data;
> SET data.trailer7=aud_trls.trailer;
> WHERE ALLTRIM(data.ACCOUNT)=ALLTRIM(aud_trls.ACCOUNT) AND aud_trls.max_trail=7;
> and alltrim(data.screennum)=alltrim(aud_trls.screennum);
> and alltrim(data.showtime)=alltrim(aud_trls.showtime)
>
> SKIP
>
>ENDDO
>
>
>Thanks,
>Inadvance
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer
Précédent
Répondre
Fil
Voir

Click here to load this message in the networking platform