oracle如何看执行计划

文章写的不错,原文请看:https://www.cnblogs.com/Dreamer-1/p/6076440.html

//

 另外,最近公司举行sql优化大赛,下面是自己的一些总结:

1.首先要理解sql的意图,这样才能等价的改写出sql;
2.要保证执行的正确性(比如这次的left join,还有上次的建立序列)
3.建立索引是第一步,建立索引后要考虑索引能否被用到(执行计划是否走所建的索引,索引字段上是否有函数,是否有强制类型转换,例如第一次积分赛的第三题),不一定索引中的字段越多越好(比如第二次积分赛的第二题和第三题),要比较逻辑读( consistent gets),一般优先考虑逻辑读少的方案;
4.有时候虽然在原有sql的基础上加上索引并且走索引,但是效率并不是很高(第三次积分赛的第三题),这时候要考虑等价改写(通过排序减小索引的扫描范围等);
5.可以考虑修改表结构(第一次积分赛第一题)
6.如果有多种方案可以写上,合情合理还会适当加分 。对于业务表,要考虑业务性(如第一次的sequence,从1000开始,第二次的第一题目字段可以为空等)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值