12
返回列表 发新帖
楼主: haohaozhe

请教下一个SQL优化的问题

[复制链接]
论坛徽章:
0
11#
 楼主| 发表于 2017-5-3 16:07 | 只看该作者
谢谢各位老师回复,因为这个问题比较急,所以刚才一直在尝试解决,没来得及回复。现在问题已经解决了,刚才对比了下慢的执行计划和快的执行计划,果然是有区别的,区别地方在于,慢的执行计划没有对内嵌视图做连接列的谓词推入,解决的方法是 加了一个 push_subq(vv) 的hint。现在的疑问是 不太清楚为什么加了 union all 之后,视图的执行计划改变了,这个问题有空研究下,谢谢各位了~!

使用道具 举报

回复
论坛徽章:
59
优秀写手
日期:2015-02-12 06:00:132016猴年福章
日期:2016-02-23 09:58:34猴赛雷
日期:2016-02-23 10:04:24紫水晶
日期:2016-04-01 12:19:28双子座
日期:2016-04-28 10:19:29秀才
日期:2016-06-23 14:15:06奥运会纪念徽章:曲棍球
日期:2016-08-30 13:12:24奥运会纪念徽章:体操
日期:2016-09-26 11:24:37妮可·罗宾
日期:2016-10-25 13:54:46娜美
日期:2017-04-28 10:45:33
12#
发表于 2017-5-3 16:14 | 只看该作者
/*+ materialize */这个是把结果集物化,如果你的这部分没有被多次访问,这个hint就没啥效果了。

至于union all之后变得很慢,我怀疑是两个视图中有相同的表,然后oracle在查询转换的时候给改写的不合理。这个可以看看是啥查询转换,然后加对应的hint禁用。

以上是猜测,我建议做个10053看看到底是咋回事

使用道具 举报

回复
论坛徽章:
0
13#
 楼主| 发表于 2017-5-3 16:17 | 只看该作者
stilllovekk 发表于 2017-5-3 16:14
/*+ materialize */这个是把结果集物化,如果你的这部分没有被多次访问,这个hint就没啥效果了。

至于u ...

谢谢回复,问题已经解决了,11楼是我解决的方法,其实我不太明白 为什么加了union all 之后,其中一个SQL的执行计划会改变

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表