加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – subselect vs outer join

发布时间:2020-12-31 13:43:52 所属栏目:MsSql教程 来源:网络整理
导读:考虑以下2个查询: select tblA.a,tblA.b,tblA.c,tblA.dfrom tblAwhere tblA.a not in (select tblB.a from tblB)select tblA.a,tblA.dfrom tblA left outer join tblBon tblA.a = tblB.a where tblB.a is null 哪个会表现更好?我的假设是,一般情况下,连

考虑以下2个查询:

select tblA.a,tblA.b,tblA.c,tblA.d
from tblA
where tblA.a not in (select tblB.a from tblB)

select tblA.a,tblA.d
from tblA left outer join tblB
on tblA.a = tblB.a where tblB.a is null

哪个会表现更好?我的假设是,一般情况下,连接会更好,除非子选择返回非常小的结果集.

解决方法

RDBMS“重写”查询以优化它们,因此它取决于您正在使用的系统,我猜它们最终会在大多数“好”数据库上提供相同的性能.

我建议选择一个更清晰,更容易维护的,对于我的钱,这是第一个.调试子查询要容易得多,因为它可以独立运行以检查是否合理.

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读