SQL 中 UNION 和 UNION ALL 有什么区别?性能上有什么影响?
What is the difference between UNION and UNION ALL in SQL, and how does it impact performance?
题目类型: 技术面试题
这是一道技术面试题,常见于澳洲IT公司面试中。
难度: easy
分类: Database
标签: UNION, UNION ALL, Performance
参考答案摘要
答案 UNION 会在合并结果集后 去重 ,而 UNION ALL 会保留所有行 不去重 。两者要求参与合并的 SELECT 语句列数与数据类型匹配。由于 UNION 通常需要额外的去重处理(常伴随排序/哈希等操作),性能开销往往高于 UNION ALL;而 UNION ALL 只是拼接结果,通常更快。
本题提供 STAR 原则详细解答和技术解析,登录匠人学院学习中心即可查看完整答案。