Заматили, что если явно указать количество выбираемых на клиента записей, работа существенно ускориться.
Написали примерно так (псевдокод): порция = 0 повторять до упора: записи = из запроса( select first 100 skip ? поля from table where какие-то) если пусто(записи): кончить. иначе: обработать(записи) порция += 100И тут закрались сомнения: что будет, если в запросе не будет кляузы order by?
Все ли записи, удовлетворяющие условию в запросе будут вычитаны.