oracle分页查询 为什么第一页显示第1条,第10条第100条及以后数据

 我来答
匿名用户
2017-01-18
展开全部
oracle分页查询 为什么第一页显示第1条,第10条第100条及以后数据
1、通常的分页写法,也是第一种分页方法,类似如下方式:
select * from (
select a.*, rownum rn from
(select * from test a order by object_name) a

where rownum <=1000)
where rn > 990;

这种方式,是对表进行排序翻页,比较常见,但是,第一页与第1000页的性能差异还是挺明显的。

2、第二种的分页写法是对索引进行翻页操作,然后根据rowid 去表中取数据。 这种方式,第一页与第1000页性能相差不大。

以下语句虽然使用HINT指定使用索引, 但是仍然没有生效。
select b.* from (
select * from (

select a.*, rownum rn from

(select /*+ index(a ix_object_name) */ rowid rid from test a order by object_name) a

where rownum <=20)
where rn > 10) a, test b

where a.rid = b.rowid;
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式