常用的分页函数

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

方法大致有三种:

1:)用next()方法:(最通用的方法)

选从50-100行

int CurrentRow = 1;

int MinRow = 50;

int MaxRow = 100;

while(rs.next())

{

if (CurrentRow<MinRow)

{

CurrentRow++;

continue;

}

}

2:)用abslout(int row)定位:

先定位到50行,然后next(); (不是所有的jdbc驱动程序都支持)

3:)用sql完成:

SqlServer的语句:

select top 50 * from (select top 100 * from sysobjects order by id desc) as a order by id

或者 SELECT TOP PageSize * FROM(SELECT TOP nPage*PageSize * from YOURTABLE )

Oracle的语句:

select * from (select rownum r ,* from test) tt

where tt.r > 50 and tt.r <= 100;

DB2中:

select * from payment fetch first 5 row only --查前5条记录

(DB2中只支持查上面的形式,既只能查前n条,不支持查后n条,此经验,我已经得到ibm的确认)

测试速度 :

abslute()最慢;定位到10000条以后无法忍受!

next();前面几条快,越往后越慢!

SqlServer语句,比next快很多,但也是越往后越慢!

Oracle语句,最快!几乎不受条数影响!(这主要是由于oracle的强大性能决定的)

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航