iBatis пропускает слишком большое значение, что приводит к медленной реакции - PullRequest
0 голосов
/ 22 февраля 2011

Заранее спасибо за ваш вклад.

Я использую параметр пропуска в iBatis в моем DAO, используя SQLMapClient для получения 1000 записей одновременно, основываясь на запросе пользователя.Поэтому, когда пользователь запрашивает следующий набор записей, я пропускаю первые n записей, которые уже были представлены пользователю.

List<Item> records = (ArrayList<Item>) sqlMap.queryForList("selectRecords", parameterMap, skip, 1000);

Работает нормально, за исключением больших значений пропуска.т. е. в одном из случаев значение skip равно 354000, и iBatis требуется значительное время, чтобы вернуть результаты, если они вообще есть.Будучи нетерпеливым, большую часть времени я просто убиваю кота.

Какой лучший способ сделать это?Должен ли я иметь дело с этим в запросе sql, возможно, используя последний идентификатор, который был выбран?Или, может быть, использовать rownum в запросе?

Буду признателен за ваши идеи.Спасибо и С уважением, VeeCan

1 Ответ

0 голосов
/ 02 марта 2011

Этот вопрос о стековом потоке имеет одно из практических решений, которое я буду искать.
Лучший способ перебрать большой набор результатов.

Думаю, я опубликую это для других' выгода.Спасибо за чтение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...