>>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.