首页 > 数据库技术 > 详细

oracle分页

时间:2018-01-29 22:15:00      阅读:263      评论:0      收藏:0      [点我收藏+]

1.根据ROWID来分
select * from student where rowid in (select rid from (select rownum rn, rid from (select rowid rid,cid from student order by cid desc) where rownum<10000) where rn > 9980) order by cid desc;
执行时间0.03秒
2.按分析函数来分
select * from (select a.*, row_number() over(order by cid desc) rk from student a ) where rk < 10000 and rk > 9980;
执行时间1.01秒
3.按ROWNUM来分
select * from (select t.*, rownum rn from (select * from student order by cid desc) t where rownum < 10000) where rn > 9980;
执行时间0.1秒
测试数据student表有7万多条。
结论:1效率最高,3次之,2最差

oracle分页

原文:https://www.cnblogs.com/qinjf/p/8379527.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!