Oracle分页 2种方式
2012-07-04 20:58
225 查看
当结果集不需要进行排序时,每页显示条数为:rowPerPage,当前页数为:currentPage。
1、 相对来说,这种查询速度会快一些,因为当currentPage小时,嵌套语句查询的结果集小。但当currentPage 变大时,查询速度会慢慢变慢。当结果集很大时,查询第一页跟最后一页的速度会有明显变化。(倾向用这种!)
select * from(
select rownum r, field1,field2 from table_name where rownum <= currentPage * rowPerPage
) where r > (currentPage-1) * rowPerPage
2、相对来说,这种查询速度会慢一些,无论当currentPage大小,嵌套语句查询的结果集都是一样多的,都是整个结果集。但是,当结果集很大时,查询第一页跟最后一页的速度不会有明显变化。
select * from(
select rownum r, field1,field2 from table_name
)
where r > (currentPage-1) * rowPerPage and r <= currentPage * rowPerPage
当需要进行排序时,以第一种方式进行示例如下:
select * from(
select rownum r, a.* from (
select field1,field2 from table_name order by field1
) a where rownum <= currentPage * rowPerPage
) where r > (currentPage-1) * rowPerPage
1、 相对来说,这种查询速度会快一些,因为当currentPage小时,嵌套语句查询的结果集小。但当currentPage 变大时,查询速度会慢慢变慢。当结果集很大时,查询第一页跟最后一页的速度会有明显变化。(倾向用这种!)
select * from(
select rownum r, field1,field2 from table_name where rownum <= currentPage * rowPerPage
) where r > (currentPage-1) * rowPerPage
2、相对来说,这种查询速度会慢一些,无论当currentPage大小,嵌套语句查询的结果集都是一样多的,都是整个结果集。但是,当结果集很大时,查询第一页跟最后一页的速度不会有明显变化。
select * from(
select rownum r, field1,field2 from table_name
)
where r > (currentPage-1) * rowPerPage and r <= currentPage * rowPerPage
当需要进行排序时,以第一种方式进行示例如下:
select * from(
select rownum r, a.* from (
select field1,field2 from table_name order by field1
) a where rownum <= currentPage * rowPerPage
) where r > (currentPage-1) * rowPerPage
相关文章推荐
- SQLSERVER行转列的2种实现方式
- RAC连接时的2种方式Connect Time Failver和taf
- 查看文件扩展名的2种特殊方式
- java创建线程的2种方式
- RAC连接时的2种方式Connect Time Failver和taf
- 建立线程的2种方式
- Spring中配置sessionFactory的2种方式
- 做运营2年,总结运营应具备的2种思维方式和3个习惯
- 【红外学习 4】【最终版】STC15f104W 红外led发射,导线交互 2种方式 测试成功
- 使用spec与fpm 2种方式进行rpm打包
- Struts2获取Request的常用2种方式,Session和Application类似
- spring结合quartz的定时的2种方式
- cocos2d-js动画的播放的2种方式
- Redis的2种持久化方式Snapshot(RDB)和Append-only file(AOF)的配置和对比
- 关于db2数据库的自增实现的2种方式
- iOS开发中禁止屏幕旋转的2种方式
- http post/get 2种使用方式
- iOS拨打电话的2种方式
- Spring Boot Session共享2种方式
- http post 方法传递参数的2种方式