当前位置:   article > 正文

Oracle的分页查询_oracle分页查询

oracle分页查询

1 分页查询引入

关于查询功能, 一次将所有查询结果返回给前台,带来的问题有:

  • 1是查询量较大,查询时间多
  • 2是前台的数据展示能力有限.

所以一般采用分页查询功能.

Mysql数据库:
使用Limit (page, size)关键字做分页查询.
Oracle数据库:
因为Oracle中没有Limit关键字,所以使用rownum伪列做分页.

2 Oracle分页查询

方法一:

select 
	a.* from ( select t.*,rownum from test t where rownum <= 20 ) a 
where rownum >= 11;
  • 1
  • 2
  • 3

方法二:

select 
	a.* from ( select t.*,rownum from test t ) a 
where rownum >= 11 and rownum <= 20;
  • 1
  • 2
  • 3

进过测试, 第一种方法性能最好,而且随着数量的增大,几乎不受影响。第二种随着数据量的增大,查询速度也越来越慢。

分页的目的就是控制输出结果集大小,将结果尽快的返回.方法一中,返回结果集很少,再过滤; 方法二,返回结果集很大,再进行过滤. 分析可知,方法一效率最高.

tips:
mybatis的分页助手pagehelper中Oracle采用的分页策略就是第二种,效率不高.

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小小林熬夜学编程/article/detail/268559
推荐阅读
相关标签
  

闽ICP备14008679号