栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

当表列相同时,EXCEPT的执行速度是否比JOIN的执行速度快

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

当表列相同时,EXCEPT的执行速度是否比JOIN的执行速度快

任何人都无法告诉您,它

EXCEPT
永远或永远不会超过同等产品
OUTER JOIN
。无论您如何编写意图,优化器都会选择合适的执行计划。

就是说,这是我的指导方针:


使用

EXCEPT
至少一个 下面的是真实的:

  1. 该查询更具可读性(这几乎总是正确的)。
  2. 性能得到改善。

并且以下 两个 都是正确的:

  1. 该查询会产生语义上相同的结果,您可以通过足够的回归测试(包括所有边缘情况)来证明这一点。
  2. 性能不会降低(同样,在所有边缘情况下,以及环境变化,例如清除缓冲池,更新统计信息,清除计划缓存以及重新启动服务)。

重要的是要注意,

EXCEPT
随着等价查询
JOIN
变得越来越复杂和/或您依赖部分列中的重复项而不是其他列中的重复项,编写等效查询可能是一个挑战。编写
NOTEXISTS
等效的文档,但其可读性要比完成时
EXCEPT
要琐碎得多-
通常会导致制定更好的计划(但请注意,我不会说
ALWAYS
NEVER
,除非是按照我的方式做)。

在这篇博客中,我演示了至少一个案例,该案例

EXCEPT
的正确构造
LEFT OUTER JOIN
和等效
NOTEXISTS
变体的表现都优于该案例。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/392625.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号