【DB2】请大神帮看两个语句的执行计划的差别

【DB2】请大神帮看两个语句的执行计划的差别

有两段sql第一段执行12s,第二段执行数分钟都跑不出结果?

ok.jpg

参与6

5同行回答

苏州易博创云苏州易博创云CTO苏州易博创云网络科技有限公司
关键在于驱动表的选择上,第一条sql 根据where过滤了c表的结果,然后在用过滤的结果和d表关联,两张表的结果集都很小,所以选择了hash join。 第二条sql的两次nl join 这个效率不可想象显示全部
关键在于驱动表的选择上,第一条sql 根据where过滤了c表的结果,然后在用过滤的结果和d表关联,两张表的结果集都很小,所以选择了hash join。 第二条sql的两次nl join 这个效率不可想象收起
IT咨询服务 · 2015-04-03
浏览1324
苏州易博创云苏州易博创云CTO苏州易博创云网络科技有限公司
根本看不清楚的哇显示全部
根本看不清楚的哇收起
IT咨询服务 · 2015-04-03
浏览1313
shadowflareshadowflare软件开发工程师交通银行
回复 3# 菜鸟学DB2    首先要说两个SQL意义不同,搞同义改写可不能这么做。   第一个语句,筛选条件出现在where里,等价于先对C表做筛选然后再做连接,参加join的记录数量要远远小于第二个语句,当然会速度快。另外hash连接在记录数量多的时候非常消耗内存,第...显示全部
回复 3# 菜鸟学DB2


   首先要说两个SQL意义不同,搞同义改写可不能这么做。   第一个语句,筛选条件出现在where里,等价于先对C表做筛选然后再做连接,参加join的记录数量要远远小于第二个语句,当然会速度快。另外hash连接在记录数量多的时候非常消耗内存,第二个语句参加join的记录数多,内存不足,不能采用hash连接。收起
银行 · 2015-04-03
浏览1263
菜鸟学DB2菜鸟学DB2软件开发工程师广州某挨踢公司
回复 2# vincenthuang     我是想知道问什么一个where条件会影响那么大,放外面好里面会使关联方式改变?显示全部
回复 2# vincenthuang


    我是想知道问什么一个where条件会影响那么大,放外面好里面会使关联方式改变?收起
银行 · 2015-04-03
浏览1349
vincenthuangvincenthuang软件开发工程师atlasdata
写的那么清楚了,还问?快的是hash join,慢的是nestloop join显示全部
写的那么清楚了,还问?
快的是hash join,慢的是nestloop join收起
软件开发 · 2015-04-03
浏览1413

提问者

菜鸟学DB2
软件开发工程师广州某挨踢公司

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-04-03
  • 关注会员:1 人
  • 问题浏览:7733
  • 最近回答:2015-04-03
  • X社区推广