Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to make this SQL rushmore optimized
Message
From
13/04/2010 04:04:50
Thomas Ganss (Online)
Main Trend
Frankfurt, Germany
 
General information
Forum:
Visual FoxPro
Category:
Other
Environment versions
Visual FoxPro:
VFP 9 SP1
Miscellaneous
Thread ID:
01459829
Message ID:
01459884
Views:
56
>>>>>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
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform