你的数据库是什么的啊,不同的数据库有不同的写法啊,
Oracle的语句:
select * from (select rownum r ,* from test) ss
where ss.r > 500 and ss.r <= 520; SqlServer的语句:select top 500 * from (select top 520 * from sysobjects order by id desc) as a order by id
Oracle的语句:
select * from (select rownum r ,* from test) ss
where ss.r > 500 and ss.r <= 520; SqlServer的语句:select top 500 * from (select top 520 * from sysobjects order by id desc) as a order by id
选从50-100行
int CurrentRow = 1;
int MinRow = 500;
int MaxRow = 520;
while(rs.next())
{
if (CurrentRow<MinRow)
{
CurrentRow++;
continue;
}
}
用abslout(int row)定位
先定位到500行,然后next();测试速度 :
abslute()最慢;定位到10000条以后无法忍受!
next();前面几条快,越往后越慢!
SqlServer语句,比next快很多,但也是越往后越慢!
Oracle语句,最快!几乎不受条数影响!
不过你sqlserver的语句蛮不错,我可以试试。如果成功,冲着这个sql,我也给你分。
我是用QueryDataSet提取数据的。
http://www.csdn.net/expert/topic/1004/1004416.xml?temp=.9450647