Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Fastest way for sum records
Message
From
08/12/2008 09:14:50
Mike Yearwood
Toronto, Ontario, Canada
 
 
To
07/12/2008 13:20:45
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 7 SP1
OS:
Windows XP SP2
Miscellaneous
Thread ID:
01365809
Message ID:
01365943
Views:
12
>>>Hi all,
>>>I have a table with at least 200000 records in it.
>>>IdField and Payment are its fields.
>>>What is the fastest way to getting sum of payment for some records?
>>>Is SUM command suitable for this?
>>>SUM Payment ALL FOR IdField=2134 TO SumPayment
>>
>>select sum(Payments) as TotalPayments from myTable where IDField = 2134 into cursor c_TotalPayments
>>
>>?  nvl(c_TotalPayments.TotalPayments,0)
>
>
>If there's an index on IdField, the following may be faster
>
>local SumPayment, IdToDo
>SumPayment = 0
>IdToDo = 2134
>
>&& set order to the index on IdField
>&& best set talk Off
>
>if( seek(m.IdToDo, 'AliasName') )
>    sum Payment rest while (IdField == m.IdToDo) to SumPayment
>endif
>
>
I can't think of any way where it would be slower.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform