Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to make this SQL rushmore optimized
Message
De
13/04/2010 04:04:50
 
 
Information générale
Forum:
Visual FoxPro
Catégorie:
Autre
Versions des environnements
Visual FoxPro:
VFP 9 SP1
Divers
Thread ID:
01459829
Message ID:
01459884
Vues:
57
>>>>>Correction. The field is Numeric(6,0) but there is an index tag on this field. Yet, Rushmore is not used.
>>>>
select * from myTable where pkfield IN (select top 100 pkfield from myTable order by pkfield DESC)
>>select top 100 pkField from myTable ORDER BY PkField DESC ?
>>
>>Also ORDER BY is not guaranteed to be optimizable. It's VFP engine that decides if it wants to optimize it or not.
>
>I am changing my approach to this design. Thanks.

Assuming you have a large table and waited for amounts of time at least large enough to twidlle your thumbs twice,
why not try timing the old xBase way of walking the index?
Set order to pkField desc
local lnFnd, loScat
Copy structure to myCursor
lnFnd = 0
Scan while m.lnFnd<100
  scatter memo name loSact
  insert into myCursor Name loScat
  lnFnd = m.lnFnd+1
endscan
Set order to pkField desc
You can keep the SQL-equivalent in comment for upgrading to SQL backends... Might be a good check into the SQL-engine, if the table has a couple of million recs.

regards

thomas
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform