Oracle_sqltuning_ccdb1_20180628(sql优化)

1.执行计划中acess、filter的区别

2.函数索引与普通索引、本地索引和全局索引的区别

3.

cassdb11数据库每天都会跑的一个批量语句,考虑到业务要修改的数据量,此批量执行时间较长,后在CUR_COR_INVM_B上创建复合函数索引IDX_CUR_COR_INVM_B_2,针对同一地区的批量语句由原来的13661秒缩小到373秒,具体的分析、创建索引的过程如下:
 
1.sql的初始执行计划的sql monitor如下:
 
可以看到此sql大部分的时间都在做第12步操作,第12步主要是先通过条件(("T2"."AREA_NO"=:B2 OR "T2"."AREA_NO"=:B1))去访问表,再将获取到的数据按照条件TO_NUMBER("T2"."TRAN_ACCT_NO")=TO_NUMBER(:B1)进行过滤。acess表主要会消耗IO,而filter的会消耗CPU。通过查看第12步的消耗,有11159S都消耗在CPU上。可见如果降低filter的消耗,既可以降低CPU的使用率,也可以缩短SQL的执行时间。
 
 
 
2.考虑到T2表的TRAN_ACCT_NO列选择性非常好,可以考虑在此列上创建索引,可虑到在和表T1做关联的时候存在字段类型转换的过程,因此创建复合函数索引,sql的执行时长明显缩短。
 

转载于:https://www.cnblogs.com/dayu-liu/p/9237112.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值