Oracle如何快速查找第N条记录?

来源:互联网 发布:猪八戒淘宝收藏有用吗 编辑:程序博客网 时间:2024/05/19 01:07

(1)用以下语句可以实现查询第N条记录,但若n值很大,速度将受到影响。

 

select object_name, object_type, owner
  from (select object_name, object_type, owner, rownum rn
          from dba_objects
         where rownum < 10001)
 where rn >= 10000;

 

(2)应采用先分页,再回表的方式。

 

       先分页,则是在索引上结合rownum和stopkey分页,快速定位第10w条记录,然后用rowid关联该行其他列,进行回表查询,这时就只查一条记录,然后返回。