oracle分页优化

5 篇文章 0 订阅

补充说明

  对分页进行优化只能是第二种,第三种优化不能翻页。只能最小数是1

业务背景

  公司报表查询,当时在测试库里面运行的时候,速度是很快的,在生产上运行速度很慢,当初以为生产上数据量太大的原因。后来发现是分页导致的查询速度慢。

优化介绍

  百度上的oracle分页都需要嵌套两层,一层查询中带出rownum,最外层去掉rownum。
   而百度上针对的优化也是在两层的基础上优化,相比以前是提高了效率。但是只用一整效率会更高。下面针对代码优化演示。

代码演示

正常的oracle分页查询

select id, name, sex, age, address, phone
from (
	select id, name, sex, age, address, phone, rownum num
	from student 
) b
where b.num >= 1
and b.num <= 10

百度上的优化

select id, name, sex, age, address, phone
from (
	select id, name, sex, age, address, phone, rownum num
	from student 
	where rownum <= 10
) b
where b.num >= 1

第三种
  这种优化不能分页,只能从1开始,

select id, name, sex, age, address, phone, rownum num
from student 
where 
rownum >= 1
and rownum <= 10

总结,根据上面的优化只是将范围缩小了一下而已,相当于两层循环,而第三种方法,相当于一层循环。
共同探讨学习技术创建技术氛围Day9884125

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值