Oracle优化SQL需要看COST吗?
Oracle优化SQL需要看COST吗?
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
4条回答
默认
最新
做SQL优化的时候根本不需要看Cost,因为Cost是根据统计信息、根据一些数学公式计算出来的。
正是因为Cost是基于统计信息、基于数学公式计算出来的,那么一旦统计信息有误差、数学公式有缺陷,Cost就算错了。而一旦Cost计算错误,执行计划也就错了。
当SQL需要优化的时候,Cost往往是错误的。既然是错误的Cost,干什么还要去看Cost呢?
评论
有用 8
请问,如果不看COST,那么如何对比优化前后SQL的效率变化?不看COST,又如何知道SQL执行过程中最慢的几步在哪个环节?
评论
有用 2优化SQL不用看cost的观点,在某大师的书中看到过。我的意见是既要看cost, 又不能完全相信cost。 cost高的步骤一般都是需要重点关注的优化点,而cost不高的地方也不一定就没问题。如果cost不高,而sql执行又慢(可能统计信息没有及时收集或优化器算法缺陷),这时就需要生成带有A-rows的执行计划, 与E-rows比较, 来判断当前执行计划是否合理,通过纠正错误执行计划,达到优化目的。
评论
有用 2回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

