>>Well, I found a banch of bad indexes with the expressions like alltrim(upper(field)) and filter with not deleted()...
>
>An index with the expression
not deleted() can make all sorts of queries very slow.
>
>An index with any other expression, but filtered on
not deleted(), will simply not be used for Rushmore Optimization. You may sometimes need this index, for example, for a client code, if you want to declare it as candidate (or primary, depending on your design), and the user supplies the code. In this case, it may be necessary (in some cases) to have a second index, not filtered and not candidate, on the same expression, for use in Rushmore Optimization.
We have just 134 tables <g> Few have bad indexes. I produced an XLS with all indexes in our tables...
If it's not broken, fix it until it is.
My Blog