iBatis跳过值太大导致响应缓慢

时间:2011-02-22 17:07:21

标签: ibatis

提前感谢您的意见。

我在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

1 个答案:

答案 0 :(得分:0)

这个stackoverflow问题有一个我将要追求的实用解决方案 Best way to iterate over a large resultset.

以为我会发布这个是为了别人的利益。谢谢你的阅读。