2011-02-22 51 views
0

在此先感謝您的意見。iBatis跳過值太大導致響應速度慢

我在我的DAO中使用iBatis中的skip參數,使用SQLMapClient根據用戶請求一次獲取1000條記錄。所以當用戶請求下一組記錄時,我跳過已經呈現給用戶的前n個記錄。

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

這工作正常,除了跳躍的大值。即在其中一個實例中,skip的值是354000之類,如果有的話,iBatis返回結果需要很長時間。不耐煩,大部分時間我只是殺死tomcat。

什麼是更好的方法來做到這一點?我應該在sql查詢中處理這個問題,使用最後選擇的id?或者可能在查詢中使用rownum?

希望你的想法。 謝謝& Regards, VeeCan

回答