ORACLE分页SQL语句

来源:互联网 发布:linux下oracle安装 编辑:程序博客网 时间:2024/09/21 09:25
方式一:
select * from example where id in(select id from (select ROWNUM rn,temp.id from (select id from EXAMPLE) temp where ROWNUM<=40) where rn>20);
Time: 0.172ms

方式二(三层嵌套):
select * from (select ROWNUM rn,temp.* from (select * from EXAMPLE) temp where ROWNUM<=60) where rn>40;
Time: 0.016ms

方式三:
select * from (select t.*,row_number() over(order by id desc) rk from EXAMPLE t) where rk<500 and rk>480
Time: 0.016ms


其中example为表名称,id为表的关键字段,取按ID降序排序后的20条记录,example表有100000多条记录
个人感觉2的效率最好,1次之,3最差

原创粉丝点击