Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Help optimizing
Message
From
05/08/1997 12:19:41
Matt Mc Donnell
Mc Donnell Software Consulting
Boston, Massachusetts, United States
 
 
To
05/08/1997 12:17:56
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Title:
Miscellaneous
Thread ID:
00043213
Message ID:
00043220
Views:
30
>>>>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
>>
>>Actually, instead of a DO WHILE...REPLACE....SKIP...ENDDO
>>
>>REPLACE jdate WITH current_paid_thru ;
>> WHILE jmembnum+activity = memb.membnum+"EXPIRE" && with str() as necc.
>>
>>...will be even faster
>>
>>HTH
>>
>>Matt
>
>And much nicer! Foxpro contains so many commands with so many clauses... unlimited world.

How many ways can you skin a cat?? ;-)
Matt McDonnell
...building a better mousetrap with moldy cheese...
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform