For the first case Rushmore will work if you use select * from t1 where Lname+FName = 'A'
(SET ANSI should be off).
For the second case you can use partial optimization if you write it as
select * from t1 where Lname+Fname =' A' and Fname ='B'
In any case, 2 separate indexes would be better.
>Hello,
>
>I have a table with some fields including LNAME and FNAME (Lastname/Firstname).
>One index on LNAME+FNAME
>
>I want to make several requests :
>- only lnames beginning with... (SELECT * FROM t1 WHERE LNAME="A")
>- both lnames and fnames begining with..(SELECT * FROM t1 WHERE LNAME="A" AND FNAME="B")
>
>Is it possible to have Rushmore optimized requests in both cases only with the index LNAME+FNAME ?
>
>In general, in case of a request based on 2 fields (like the 2nd one), is it working with a unique index based on these 2 fields ?
>
>In VFP9sp1, I'm wondering why I have to set ENGINEBEHAVIOR to 80 to have a working Rushmore optimization on a very simple request.
>(CPCURRENT() is equal to CPDBF())
>
>Thanks for your help.
>Regards,
>Steph
If it's not broken, fix it until it is.
My Blog