数据库有大量数据的时候会涉及到大量数据查询及显示问题,加入数据量特别大,有几十万上百万条数据,先不说查询效率,这些说句全部读到内存,占用的物理内存就能把程序拖垮。因此产生了分页查询。
Oracle查询的时候,返回的结果集默认添加一个rownum的属性名,记录了行号,给这个属性添加限制,就能到达分页的目的。
1)通常的写法。
select rn,id from (select from rownum as rn ,id from (select * from test)) where rn >=0 and rn < 100;
2)第二种写法。
select rn,id from (selet from rownum as rn ,id from (select * from test) where rownum <=100) where rn > 100;
写程序检验了一下,第二种写法要比第一种方法快很多。
具体的解释参考下面引用:
[1] http://www.cnblogs.com/Ronger/archive/2012/05/14/2498971.html
[2] http://blog.sina.com.cn/s/blog_8604ca230100vro9.html