oracle from后表顺序,Oracle SQL中表连接顺序探究

SQL语句优化中大多会写上这样一句,把记录数最小的记录写到From子句的最后以提高查询的效率,我开始也深信不疑,但是自己写语句验证的时候却得到相反的结果。

下面是我验证的结果:

SQL> set timing on

SQL> select count(*) from all_objects,dept;

COUNT(*)

----------

136540

Executed in 3.219 seconds

SQL> select count(*) from dept,all_objects

2 ;

COUNT(*)

----------

136540

Executed in 1.531 seconds

这样的结果让我很疑惑,后来仔细查阅一些资料后得知,这一条优化规则仅在基于规则的优化方法时有效,然后查看了自己的oracle的优化选择。

choose是oracle的默认选项,采用choose的时候,既可以采用基于成本的优化方法,也可以采用基于规则的优化方法。所以可以肯定的是我上面的例子采用的应该是基于成本的优化方法

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值