Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Building a complex query
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 6
OS:
Windows 2000 SP4
Network:
Windows 2000 Pro
Database:
Visual FoxPro
Divers
Thread ID:
00980679
Message ID:
00981167
Vues:
74
>>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.
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform