Bil*_*eal 9 sql performance union-all
我有两个查询,我UNION已经知道两个查询之间不会有重复的元素.因此,UNION并UNION ALL会产生相同的结果.
我应该使用哪一个?
Dan*_*olo 23
您应该使用符合您要求的意图的那个.如果要确保没有重复使用UNION,否则请使用UNION ALL.仅仅因为您的数据现在会产生相同的结果并不意味着它总会如此.
也就是说,UNION ALL任何理智的数据库实现都会更快,请参阅下面的文章以获取示例.但通常情况下,它们是相同的,除了UNION执行额外的步骤以删除相同的行(正如人们可能预期的那样),并且它可能倾向于主导执行时间.
我看到你已经标记了这个问题的表现,所以我认为这是你的首要考虑因素.
UNION ALL绝对会超越,UNION因为SQL不必检查两组的重复.
除非您需要SQL来为您执行重复检查,否则请始终使用UNION ALL.