Я вижу два пути, чтобы набрать здесь:
1) Используйте курсор: Sybase IQ является поддерживающей функцией курсора. Проверьте documentation на то, как это сделать (я связал 15.1, так как это было первое, что я нашел, и вы не указали, какую версию вы используете. Должно быть одинаково на 16). Поскольку вы не представили много деталей, я не буду писать псевдо-код, который уже напечатан в документации.
2) Разделите свой запрос на логические части и создайте свою разбивку на страницы. Итак, заберите все строки за год, прежде чем обращаться с ними на Java.
Конечно, комбинация 1 и 2 будет работать.
Опять же: IQ, скорее всего, намного быстрее выполняет логику непосредственно внутри базы данных, так как ваш Java-инструмент когда-либо будет.
Вам действительно нужно сделать эту логику в приложении Java? Я спрашиваю, потому что процедуры хранения очень медленны в IQ, а также время сети по сравнению с тем, что агрегация напрямую на IQ действительно высока. – frlan
Мне нужно обработать каждую запись на Java. –