首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >联合性能与联合所有性能

联合性能与联合所有性能
EN

Stack Overflow用户
提问于 2010-09-02 22:12:39
回答 5查看 29.4K关注 0票数 25

我必须跨多个表运行一条select语句。我确信这些表返回不同的记录。无论如何,我都在使用联合所有。

当我确信这两个表返回不同的记录时,在性能方面使用UNION还是of UNION ALL更好?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-09-02 22:15:10

当您不关心消除重复记录时,UNION ALL将比UNION执行得更好,因为您避免了代价高昂的distinct sort操作。请参阅:SQL SERVER – Difference Between Union vs. Union All – Optimal Performance Comparison

票数 36
EN

Stack Overflow用户

发布于 2010-09-02 22:14:13

UNION ALL总是更快,因为UNION排除了重复的条目

票数 5
EN

Stack Overflow用户

发布于 2010-10-14 17:47:25

UNION在内部实现两个查询。1.返回数据集的SELECT。2.DISTINCT。任何研究过数据库内部结构的人都可以很容易地理解,就处理而言,DISTINCT子句是非常昂贵的。

如果您非常确定生成的dataset不需要唯一行,那么我们可以跳过UNION,改用UNION ALL

UNION ALL将与UNION相同,不同之处在于它不会在内部触发DISTINCT,从而避免了代价高昂的操作

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3627946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档