You should set order to 0 before using a filter, so Rushmore works 
(provided you have an index on the lastworked field.
In addition, there is no need to check for bof() 0r eof()

select table
set order to 0
set filter to lastworked < (date()-15)
locate

with the above construct (if there is an index on lastworked), Rushmore 
will optimize the query. Notice the use of locate. This will place the 
pointer directly on the first record that meets the filter condition. 
But order should be set to 0, otherwise things could slow down considerably.

But I suggest you stay away from filters alltogether and use a select 
like so:

select table
set order to 0

select * from table where lastworked < (date()-15) into cursor curTable 
readwrite

(Always setting order to 0, and the select will use Rushmore at its fullest)

Rafael Copquin



El 26/04/2012 08:12 a.m., Alan Bourke escribió:
> I don't see why a SELECT would be slower if it's Rushmore optimised.
> Filters to me are dBase-era stuff. Use a view, maybe?

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://leafe.com/mailman/listinfo/profox
OT-free version of this list: http://leafe.com/mailman/listinfo/profoxtech
Searchable Archive: http://leafe.com/archives/search/profox
This message: 
http://leafe.com/archives/byMID/profox/[email protected]
** All postings, unless explicitly stated otherwise, are the opinions of the 
author, and do not constitute legal or medical advice. This statement is added 
to the messages for those lawyers who are too stupid to see the obvious.

Reply via email to