Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
SELECT Statement
Message
 
General information
Forum:
Visual FoxPro
Category:
Other
Miscellaneous
Thread ID:
00513062
Message ID:
00513262
Views:
13
This message has been marked as a message which has helped to the initial question of the thread.
>>>i think i gave you points for helping....
>>
>>Thanks, I didn't notice them before... BTW, AFAIK like is not optimizable (I have to check it again), while = is optimizable operator. If you have index on lastname, use pat_lName=m.lcValue. Don't use alltrim in the SQL unless you don't want to change ANSI settings. You can do:
>>
>>local lcValue, lcOldAnsi
>>lcOldAnsi=set('ansi')
>>set ansi off && to perfomr partial match
>>lcValue=alltrim(thisform....)
>>select ... where pat_lName=m.lcValue ...
>>if lcOldAnsi='ON'
>>   set ansi on && restore it back
>>endif
>
>According to SYS(3054,1), you get partial Rushmore optimization using LIKE instead of and equal sign. Of course, you have to have an index tag on the expression used on the left side of the equation.

Yep, I just tried:
sys(3054,1)
select * from lender where short like "A%" && Partial
set ansi off
select * from lender where short="A"
&& Full

But why it's partial? It uses short index in both cases...
If it's not broken, fix it until it is.


My Blog
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform