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

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

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之类的,我的问题是,到底是在程序里用游标分页性能好呢还是数据库分页性能好?

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

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