提前感谢您的意见。
我在DAO中的iBatis中使用skip参数,使用SQLMapClient根据用户请求一次获取1000条记录。因此,当用户请求下一组记录时,我跳过已经呈现给用户的前n个记录。
List<Item> records = (ArrayList<Item>) sqlMap.queryForList("selectRecords", parameterMap, skip, 1000);
除了大的skip值之外,这个工作正常。即,在其中一个实例中,skip的值类似于354000,如果有的话,iBatis需要花费大量时间才能返回结果。不耐烦,大多数时候我只是杀死了tomcat。
有什么更好的方法可以做到这一点?我应该在sql查询中处理这个,使用最后选择的id吗?或者也许在查询中使用rownum?
非常感谢您的想法。 谢谢&amp;问候, VeeCan
答案 0 :(得分:0)
这个stackoverflow问题有一个我将要追求的实用解决方案 Best way to iterate over a large resultset.
以为我会发布这个是为了别人的利益。谢谢你的阅读。