Union 和distinct 的使用在性能上的差别

WenMing 40 信誉分
2024-05-27T02:43:47.6566667+00:00

我知道Union 比起Union all多了剔除重复值这一步,那如果我事先用distinct的话,可以优化查询吗?

--query1
SELECT DISTINCT * FROM TABLE1
UNION 
SELECT DISTINCT * FROM TABLE2

--query2
SELECT  * FROM TABLE1
UNION 
SELECT  * FROM TABLE2
SQL Server
SQL Server
Microsoft 关系数据库管理和分析系统的一个系列,用于实现电子商务、业务线和数据仓库解决方案。
175 个问题
Transact-SQL
Transact-SQL
ANSI SQL 语言的 Microsoft 扩展,包括过程编程、局部变量和各种支持函数。
23 个问题
{count} 票

接受的答案
  1. LiHongMSFT-4306 29,031 信誉分
    2024-05-27T03:10:49.0466667+00:00

    这个主要看查询优化器的选择,跟你的表数据相关。

    比如说,表 1 有数百万个结果且没有重复项,而表 2 有数百万个结果,但去除重复数据后减少到只有几条记录,那么query1比query2好。


    如果答案是正确的解决方案,请点击“接受答案”并投赞成票。如果您对此答案有其他疑问,请点击“评论”。

    0 个注释 无注释

0 个其他答案

排序依据: 非常有帮助

你的答案

问题作者可以将答案标记为“接受的答案”,这有助于用户了解已解决作者问题的答案。