Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Help optimizing
Message
De
05/08/1997 11:02:18
 
 
À
05/08/1997 10:55:04
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Divers
Thread ID:
00043213
Message ID:
00043214
Vues:
24
>I have a very high volume form that, upon saving, must update a record in a table with about 280.000 records. All of the relevant fields in the table are indexed. I have tried the two methods below, both with about the same performance results.
>
>UPDATE temptest!join_cancel; && EXPIRE record to reflect new paid thru date
>SET jdate = current_paid_thru;
>WHERE join_cancel.jmembnum = memb.membnum;
>AND join_cancel.activity = "EXPIRE"
>
>and
>
>replace jdate with current_paid_thru for join_cancel.jmembnum = memb.membnum .and. join_cancel.activity = EXPIRE"
>
>They each take about 5 seconds to execute. This is unacceptable. Is there something I am overlooking? Is there anything else I need to index or a different way I should be updating this record? I have several other tables with records in the millions that only take a split second to query. Please help, I am at wits end. I am in big trouble if this is the performance I have to live with.

I believe you will improve performance if:
Select join_cancel
Set order to tag memact && indexed on jmembnum+activity, use Str() if different types
Seek memb.membnum+"EXPIRE" && use Str if different types
do while join_cancel.jmembnum=memb.membnum and join_cancel.activity=EXPIRE"
Select join_cancel
Replace jdate with current_paid_thru
Skip
if eof()
go bottom
exit
endif
enddo
Edward Pikman
Independent Consultant
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform