EBS12.1: 优化SQL查询过程

用户反馈一个报表突然变得很慢,查一个月数据 一天也不会显示出来(日志得知运行5小时了)。

我对该报表进行分析,

分析点1: 主查询语句共有5个UNION ALL 段,每个段中使用6个自定义函数

分析点2: 使用outer join 连接, 每段中都有外连接3~5个表(共同表与条件)

分析点3: 4个主数据表超千万行记录,外连接 数据表也近千万行记录。

分析点4:通过执行计划分析,执行计划内容不能充分反映慢的原因。另外几百行记录的表以全表后扫描一个,只是每段UNION 一次。

处理方式: 

1、将自定义函数用VIEW代替

2、抽取每段中外连接表到最外层

3、HINT方式指定索引顺序

4、创建索引或重建索引。 

效果:

40秒钟,在PLSQL DEVELOPER中显示结果。

10分钟导出 600MB数据(约65万行记录)EXCEL文件。 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值