Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Building a complex query
Message
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 6
OS:
Windows 2000 SP4
Network:
Windows 2000 Pro
Database:
Visual FoxPro
Miscellaneous
Thread ID:
00980679
Message ID:
00981167
Views:
68
>>LIKE clause is NOT rushmore optimizable (till VFP 9 if I remember corectly). Also If You want this clause to be optimazable the must change the WHERE condition to match the index. Can You post how the table is indexed?
>
>Borislav
>
>IF .NOT. EMPTY(consig) && If this variable contains Company name
> consig = upper(TRIM(consig))
> cWhere = cWhere + IIF(lAnd," AND ","") + "upper(trim(globalnew.Company)) LIKE '%"+consig+"%'" && Add ' before first & after second %
> lAnd = .t.
>ENDIF
>
>Index is upper(trim(company))
>
>Thanks
>
>Colin

This type of INDEX may cause trouble. It is not a good idea to INDEX ON TRIM(). If You want the index to be left justified use
INDEX ON PADR(UPPER(ALLTRIM(Company)), 30, " " ) TAG ... where 30 is length of Field Company

As I said LIKE clause is not Rushmore Oprimizable in VFP 8 and below. In VFP 9 it is (AFAIK).

UPDATE: In VFP Like Clause is Rushmore Optimazaple ONLY in this Case

upper(globalnew.Company) LIKE '"+consig+"%'"


w/o first %
Against Stupidity the Gods themselves Contend in Vain - Johann Christoph Friedrich von Schiller
The only thing normal about database guys is their tables.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform