>>>>>>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?