Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Why is Optimization 'Partial'
Message
From
02/10/1997 16:29:35
 
 
To
02/10/1997 16:15:22
Larry Long
ProgRes (Programming Resources)
Georgia, United States
General information
Forum:
Visual FoxPro
Category:
Troubleshooting
Miscellaneous
Thread ID:
00052442
Message ID:
00052946
Views:
33
>>>>>>>I am trying to determine why my SQL statement is returning
>>>>>>>'Partial' Optimization instead of full.
>>>>>>>
>>>>>>>SELECT Acctnum, DeptNum;
>>>>>>> FROM Chg;
>>>>>>> WHERE Chg.Acctnum='5555555';
>>>>>>> INTO CURSOR cResult
>>>>>>>
>>>>>>>Chg is 2+ Million Records
>>>>>>>There is an Index 'Acctnum' in Table Chg (Not Primary).
>>>>>>>Acctnum is C 7
>>>>>>>
>>>>>>>SYS(3054) Returns
>>>>>>> 'Using index tag acctnum to rushmore optimize table chg'
>>>>>>> 'Rushmore optimization level for tabl chg: Partial'
>>>>>>>
>>>>>>>Am I missing something?
>>>>>>
>>>>>>If SET DELETED ON, you should alse have index on DELETED().
>>>>>
>>>>>Ditto on the above, but also...
>>>>>
>>>>>Unless absolutely neccesary you should run...
>>>>>
>>>>>SELECT * FROM Chg WHERE Chg.Acctnum='5555555' INTO CURSOR cResult
>>>>>
>>>>>It will be almost instantaneous since it will be using the table as is, the equivalent of "USE chg AGAIN IN 0 ALAIS cResult". Your code will be copying fields to a temp file.
>>>>>
>>>>>HTH //:^)
>>>>
>>>>Larry, does the use of * instead of listing 2 or 3 field names really make a difference? As long as you don't use a calculated field or an "AS" clause the cursor is still a filtered copy.
>>>>
>>>>Barbara
>>>I do believe so. If you have access to a large table give it a try and let me know what you come up with //:^)
>>
>>Barbara is right (tested on 3 million records).
>Then I guess that it would be the same as a SET FIELDS TO ... statement?

Maybe... To be honest, I didn't use SET FIELDS TO for years.
Edward Pikman
Independent Consultant
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform