>I'm probably wrong in this, but the TOP is issued after order by. So you are sorting all of them and then taking the top 21. This is 2 steps non optimized.
>
>Why not create a view without the order by, open it nodata, index on ship_no and then requery() as test 1.
>
>Test 2 create a view without the top, or order by. Same as above, but count the first 21 rows.
Maybe I'm not quite following what you're saying, but I don't think this would work well for those really *large* tables.
The purpose of this endeavor is to come up with method for navigating thru a dataset 20 records at a time. I select a starting point (hence the "ship_no >= m.ship_no" part) and then select 21 records (20 that are displayed and the 21st as a starting point for the next 21).
I was shooting for a single method that would work well in both native Fox and SQL Server but maybe that's just too much to wish for, huh?{s}
Thanks, Stephen.
Later...
/< /-/