CSDNRGY
2016-11-17 03:15
采纳率: 91.7%
浏览 3.2k

内连接、左连接、右连接的哪个性能更好?(Oracle)

图片说明

执行计划的cost,都是一样啊。。。

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • Book1346 2016-11-17 03:42
    最佳回答

    具体用哪个连接,要根据实际情况和表内容情况而定。
    你这里测试出来的cost一样,那是因为你两张表内容一致,连接条件刚好都满足,两张表根据连接都能找到相对应字段,所以测出来是一样的。
    举个例子:当你的deptno这个属性,在两个表里没法完全对应的时候就不一样了。
    比如你在dept这个表里,有deptno=10的条目记录,在emp中没有deptno=10的条目记录,那你查询时候你是否想将这个记录查询出来?
    这种情况,内连是查不出来的,直接没显示在结果上,左连以左表为主,会显示出来,但右表列属性以空显示,右连以右表为主,也显示不出来。
    同理,在emp表里,有deptno=10的条目记录,在dept中没有deptno=10的条目记录,
    这种情况,内连是查不出来的,直接没显示在结果上,左连以左表为主,也不会显示出来,右连以右表为主,就能显示出来,但左表列属性以空显示。

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题