Добрый день!
Java + SpringFramework 2.5 + Oracle
Дана таблица с количеством записей в несколько десятков миллионов штук, у которой есть primary key entity_id number. Так же есть интерфейс:
public interface TableIterator {
void processRow(long rowId);
}
Вопрос в том, как можно реализовать функцию:
void iterate(String tableName, String
(
Read more... )
Comments 21
and rownum <=1
ORDER BY id asc
Прогнал на большой табличке, жуткой медленной сортировки не происходит. Однако индекс.
Reply
Reply
Если вам чтото вставят в середину по море этого итерирования,
то как повезет или подхватите или нет.
Если хотите транзакционности то
select * from TABLE
при создании итератора
и resultSet.next() при каждом next() итератора. И ему тогда никакие параметры не нужны ...
Тут надо будет с транзакциями разобраться акуратно ... понимать что соединение заняли ...
Reply
Reply
Reply
Reply
Reply
. Вы мне френдленту порвали.
Reply
Reply
Reply
Reply
Reply
Reply
За исключением очень редких случаев, любое решение в рамках приведенного интерфейса будет существенно более медленное чем SQL-запросы специфичные для задачи, и будет хорошим примером для code_wtf. Советую обратить внимание хотя бы на hibernate, если SQL смущает.
Reply
А задача далеко не real-time.
Reply
Leave a comment