select RecNo() AS RecNo, SortName from tmp1 where optimizedcondition; order by sortname into cursor tmp2 NOFILTERThis sould give a smaller cursor. Then:
SKIP 50000 lnRecNo = Tmp2.RecNo select * from tmp1 where optimizedcondition; order by sortname into cursor tmp GOTO lnRecNoHTH