Top is slow because the whole of the index (either temporary or permanent) has 
to be either downloaded or created on the client machine. In many cases the 
whole of the table. Hence normalising it and creating proper incxes to filter 
records using Rusmore is quicker.

Dave


-----Original Message-----
From: ProFox [mailto:[email protected]] On Behalf Of Rafael Copquin
Sent: 09 July 2014 17:02
To: [email protected]
Subject: Re: issue with dbf's

 >I wonder what would happen if instead of selecting * I select all fields, but 
 >naming them one by one, like select >field1,field2...fieldN from table....

I just tested this and found the following:

set order to 0  (to let Rushmore operate better) select 
field1,field2,field3...fieldN from table where reccno() between
200000 and 200100 works very fast

In other words, with only one index key (the pk), order set to 0 and selecting 
a range of records (100) with the between clause insted of the top 100 I was 
using before, the speed is very acceptable.

I am now going to develop a pagination routine that uses the BETWEEN instead of 
the TOP clause.

That should do it

But still, I wonder why the TOP clause is so slow

Rafael Copquin


[excessive quoting removed by server]

_______________________________________________
Post Messages to: [email protected]
Subscription Maintenance: http://mail.leafe.com/mailman/listinfo/profox
OT-free version of this list: http://mail.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