Заранее спасибо за ваш вклад.
Я использую параметр пропуска в iBatis в моем DAO, используя SQLMapClient для получения 1000 записей одновременно, основываясь на запросе пользователя.Поэтому, когда пользователь запрашивает следующий набор записей, я пропускаю первые n записей, которые уже были представлены пользователю.
List<Item> records = (ArrayList<Item>) sqlMap.queryForList("selectRecords", parameterMap, skip, 1000);
Работает нормально, за исключением больших значений пропуска.т. е. в одном из случаев значение skip равно 354000, и iBatis требуется значительное время, чтобы вернуть результаты, если они вообще есть.Будучи нетерпеливым, большую часть времени я просто убиваю кота.
Какой лучший способ сделать это?Должен ли я иметь дело с этим в запросе sql, возможно, используя последний идентификатор, который был выбран?Или, может быть, использовать rownum в запросе?
Буду признателен за ваши идеи.Спасибо и С уважением, VeeCan