`
liyx985
  • 浏览: 214862 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

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开始,第二次的第一题目字段可以为空等)

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics