浏览 9113 次
锁定老帖子 主题:Oracle 分页算法汇总
精华帖 (0) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-04-09
-- Oracle 分页算法一 select * from ( select page.*,rownum rn from (select * from help) page -- 20 = (currentPage-1) * pageSize + pageSize where rownum <= 20 ) -- 10 = (currentPage-1) * pageSize where rn > 10; -- Oralce 分页算法二 -- 20 = (currentPage-1) * pageSize + pageSize select * from help where rownum<=20 minus -- 10 = (currentPage-1) * pageSize select * from help where rownum<=10; 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2011-01-13
后一种不能处理排序……
前一种可以把排序放最里边的循环。 |
|
返回顶楼 | |
发表时间:2011-02-15
sql太简单了,一般用三层分页
|
|
返回顶楼 | |
发表时间:2011-02-16
泛舟天下 写道 sql太简单了,一般用三层分页
如果分页的时候还用到了排序就会用到三层结构,根据需求不同和Oracle的版本不同选择不同的分页方式,当然还需要根据不同场景进行相应的测试。 |
|
返回顶楼 | |
发表时间:2011-02-16
为了回复你,专门做了javaeye的测试,楼主的第二种分页算法让我震惊了一下,呵呵。不知道楼主的这个星星是怎么得到的。
帮楼主解疑一下,itpub 的 yangtingkun 对oracle的分页做过深入的研究。 Oracle分页查询格式(一):http://yangtingkun.itpub.net/post/468/100278 Oracle分页查询格式(二):http://yangtingkun.itpub.net/post/468/101703 Oracle分页查询格式(三):http://yangtingkun.itpub.net/post/468/104595 Oracle分页查询格式(四):http://yangtingkun.itpub.net/post/468/104867 Oracle分页查询格式(五):http://yangtingkun.itpub.net/post/468/107934 Oracle分页查询格式(六):http://yangtingkun.itpub.net/post/468/108677 Oracle分页查询格式(七):http://yangtingkun.itpub.net/post/468/109834 Oracle分页查询格式(八):http://yangtingkun.itpub.net/post/468/224557 Oracle分页查询格式(九):http://yangtingkun.itpub.net/post/468/224409 Oracle分页查询格式(十):http://yangtingkun.itpub.net/post/468/224823 Oracle分页查询格式(十一):http://yangtingkun.itpub.net/post/468/485481 Oracle分页查询格式(十二):http://yangtingkun.itpub.net/post/468/485496 |
|
返回顶楼 | |
发表时间:2011-03-04
哈哈,非常感谢四楼的回复和补充,SQL分页的方法有很多,还在总结中,现在工作比较忙,等有时间了再整理一下与大家分享!
没有最好的,只有最适合的! |
|
返回顶楼 | |