bzwc830819
2015-08-04 15:11
采纳率: 100%
浏览 3.4k
已采纳

数据库分页和游标分页性能比较

我一直用的游标分页,也没遇到什么性能问题,就是下边这种:

try{
List list=new ArrayList();

if(page != null)
{
    if (rs.last())page.setTotalRow(rs.getRow());
    //rs.beforeFirst();
    rs.absolute(page.getFirstRow());
}

T obj;
for(int i=1 ; (page == null || i <= page.getPageSize()) && rs.next() ; i++)
{
    obj=mapper.mapRow(rs, i);
    if(obj!=null)list.add(obj);
}

return list;

}finally{
JdbcUtils.closeResultSet(rs);
}


还有一种就是数据库分页,用row_number之类的,我的问题是,到底是在程序里用游标分页性能好呢还是数据库分页性能好?

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 君莫傲 2015-08-05 00:27
    已采纳

    我的建议是:
    看看你的 具体数据的情况了,具体情况:我认为是:在数据库中数据多的情况下:如上百万,上千万的数据量还是游标处理的好一些,当你的数据量不是很大的时候还是选择数据库分页吧!具体的请看我的博客,有提到分页的性能情况!
    http://blog.csdn.net/u011225629/article/details/46775947
    http://blog.csdn.net/u011225629/article/details/46786507
    http://blog.csdn.net/u011225629/article/details/46786729

    已采纳该答案
    评论
    解决 无用
    打赏 举报
  • threenewbee 2015-08-04 15:16

    不同的数据库实现不同,sql server的行号基于游标,所以性能应该差不多。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题