今天出个思考题,SQL比较简单,有兴趣的朋友可以一块做一做:
这是个AWR显示的TOP SQL(所以才有必要做优化):
select count(BC.SerialNo)
from Business_Duebill BC
where 1 = 1
and BC.operateuserid = :1
and BC.businessType like :2
and BC.businessType not like :3
and BC.businessType not like :4
and BC.businessType not like :5
and BC.businessType not like :6
and BC.PutoutDate > :7;
执行计划及一组具体代表性的绑定变量:
表字段数据分布情况,红色为sql使用到的几个字段(SerialNO是主键),
提示:
当前使用的索引字段(operateuserid)选择性一般;
putoutdate谓词条件使用的变量日期也是比较久远(当前是2016年了)
问题:
1、这个SQL在使用上有没有什么问题?具体在哪里?
2、如果要优化这个SQL,你的方法是什么?
本文分享自 老虎刘谈oracle性能优化 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!