ORACLE 性能优化示例

本文探讨了ORACLE数据库的性能优化问题,包括避免大表间的嵌套SELECT和关联,理解数据量与索引使用的关系,有效利用分区索引,避免多层SELECT FROM,掌握索引跳跃扫描的运用,以及防止索引重复建设。通过实例分析,提供了解决这些问题的策略和建议。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题1:嵌套SELECT和大表关联

结论:尽量少用大表之间关联,特别是外链接,改用嵌套SELECT。

嵌套SELECT(性能优)
在这里插入图片描述
大表关联(性能差)
在这里插入图片描述

问题2:数据量与索引的关系

结论:有索引,但全表扫表时,需要注意传入的参数,不一定是索引不好用。

28万,占用户数10%以上,ORACLE认为全表扫描块
在这里插入图片描述

7万,占用户数比例少,ORACLE用索引查询
在这里插入图片描述

问题3:分区索引查询

结论:利用分区索引查询数据时,查询条件一定要加分区字段。

分区索引,查询条件不带DQBM(性能优)
在这里插入图片描述
分区索引,查询条件带DQBM(性能优)
在这里插入图片描述

问题4:多层SELECT FROM

结论:多层SELECT FROM 就相当于多个视图关联查询,效率差,尽量不用。

优化前:

SELECT TAB2.GZDBH, TAB2.YHBH, TAB2.KHBH AS QXYSLYY, TAB2.KHMC AS YQYY,
       TAB2.YWLBBH, TAB2.YWZLBH, TAB2.ZJRL, TAB2.SQKSRQ, TAB2.SQDQRQ,
       TAB2.HTSPJLDM, TAB2.HTSPSJ, TAB2.HTSPBM, TAB2.HTSPR, TAB2.ZSSLRQ,
       TAB2.GDDWBM
  FROM (SELECT DISTINCT G.GZDBH, TAB0
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值