优化者是否区分JOIN ON和WHERE原因?

时间:2016-11-02 15:11:54

标签: sql oracle performance

我的问题很简单,我想扩展我对提高SQL查询性能的了解。

我最近经常面对来自我的同事的喋喋不休的剧本,他们有点"凌乱"在编写脚本时。

他们通过用逗号分隔编写表来以旧方式编写join子句。

我知道那些脚本是相同的输出,但是通过将这些scricts重写为经典连接子句可以提高性能吗?

编辑:所以我重写了写得不好的代码,我有三个例子,但是只有图片格式真的很疯狂,也许我以后可以重新格式化 - 这里是专辑http://imgur.com/a/zz0a8

因此,在第一张图片中,连接和cartezian产品之间存在混合方式,运行结果需要35分钟。

第二张照片是我重写的代码 - 花了一分多钟才得到相同的结果。

最后一个我专门将代码重写为cartezian产品 - 它现在运行了一个小时,我不知道它什么时候会停止。

那么有人可以帮我从图片中的统计数据中获取一些有用的信息吗?哪些指标很好看?因为最后一种方法的近似时间是最小的,但事实证明它是最慢的方法。

谢谢。

0 个答案:

没有答案