2015-09-24 3 views
0

Мне нужно собрать около 1 миллиарда записей и обработать их на Java.Sybase IQ - Курсор с Java

Возможно, не удастся получить все в одном выражении select. Как я могу использовать разбивку на страницы или я могу использовать курсоры?

This Решение предоставляет хранимую процедуру в качестве ответа. Это единственный вариант, если это работает?

+0

Вам действительно нужно сделать эту логику в приложении Java? Я спрашиваю, потому что процедуры хранения очень медленны в IQ, а также время сети по сравнению с тем, что агрегация напрямую на IQ действительно высока. – frlan

+0

Мне нужно обработать каждую запись на Java. –

ответ

0

Я вижу два пути, чтобы набрать здесь:

1) Используйте курсор: Sybase IQ является поддерживающей функцией курсора. Проверьте documentation на то, как это сделать (я связал 15.1, так как это было первое, что я нашел, и вы не указали, какую версию вы используете. Должно быть одинаково на 16). Поскольку вы не представили много деталей, я не буду писать псевдо-код, который уже напечатан в документации.

2) Разделите свой запрос на логические части и создайте свою разбивку на страницы. Итак, заберите все строки за год, прежде чем обращаться с ними на Java.

Конечно, комбинация 1 и 2 будет работать.

Опять же: IQ, скорее всего, намного быстрее выполняет логику непосредственно внутри базы данных, так как ваш Java-инструмент когда-либо будет.

Смежные вопросы