首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

oracle分页查询解决办法

2012-03-22 
oracle分页查询--优化分页查询语句selectm.*from (select rownum rownnum_, t.* from (select * from sale

oracle分页查询
--优化分页查询语句
select m.*
  from (select rownum rownnum_, t.* from (select * from sales m where 1 = 1 order by m.cust_id) t where rownum < 16) m  
 where rownnum_ > 2;
 
 --没有优化分页查询语句
 select m.*
  from (select rownum rownnum_, t.* from (select * from sales m where 1 = 1 order by m.cust_id) t ) m where rownnum_<16  
 and rownnum_>2 ;

这是我在ORACLE书上面看到的查询 例子。
  一个是 优化后的 一个是没有优化的。
  第一个查询 只用了 1S 第二个查询是7S 
  但是第二个没有优化的查询 我能理解 觉得是我想要的 分页
 但是第一个 虽说快 但是 感觉结果只是达到了分页效果 。。
  问下 大家分页是怎么做到的呢?
  这是ORACLE 自己的表 SH用户的

[解决办法]
select *
from (select m.*,row_number() over(order by m.cust_id) rn from sales m )
where rn between 3 and 15

热点排行