>>>MSDN help says this:
>>>
>>>FOR lExpression
>>>
>>>Specifies a condition whereby only records that satisfy the filter expression lExpression are available for display and access; index keys are created in the index file for just those records matching the filter expression.
>>>
>>>Rushmore optimizes an INDEX ... FOR lExpression command if lExpression is an optimizable expression. For best performance, use an optimizable expression in the FOR clause.
>>
>>Jess, that means that when constructing the index, the construction of the index will use Rushmore optimization to select the set of records for inclusion in the index. It does not mean that Rushmore will utilize the index when optimizing queries and other operations.
>
>That's exactly what I wanted to express. It is the INDEX Expression that can be optimized but not to reference it as a way of optimizing SCANS, CALC SUM etc.
You're missing the idea here. In order for Rushmore optimization to be used to help build the filtered index, that means you'd have to have an unfiltered index on the field used in the FOR statement in the INDEX statement. IOW:
INDEX ON JRandomField FOR OtherField = 42 TAG FILTERIDX
There must be an existing, unfiltered index on OtherField. When the index FILTERIDX is constructed, the unfiltered index on OtherField is used to speed up creation of the filtered index. The filtered index can never be used itself for further optimization.