Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
How to make this SQL rushmore optimized
Message
 
 
To
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:
01459925
Views:
44
>>>>>>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

Thank you, Thomas.
"The creative process is nothing but a series of crises." Isaac Bashevis Singer
"My experience is that as soon as people are old enough to know better, they don't know anything at all." Oscar Wilde
"If a nation values anything more than freedom, it will lose its freedom; and the irony of it is that if it is comfort or money that it values more, it will lose that too." W.Somerset Maugham
Previous
Reply
Map
View

Click here to load this message in the networking platform