UNION 和 UNION ALL的区别
“细雨鱼儿出,微风燕子斜”
序
今天听同事说UNION 和 UNION ALL的区别,遂自己来简单研究一番;
研究
先说结论,因为UNION 操作会对结果去重且排序,所以从速度来说, UNION ALL会更胜一筹。
建两张表,分别插入几条数据:
这两张表唯一的不同就是数据中,一个是“王五”,一个是“老六”。
- 使用union all
可以看出,union all 没有去重,查出了两个“张三”和“李四”;
2. 使用union
由此可见,“张三”和“李四”被去重了。
然后,我们再来看下两个SQL(也就是union和union all)的性能分析:
3. 使用union all
4. 使用union
通过性能分析可得出,union比union all 多做了操作。由此得结论:
- union去重并排序,union all直接返回合并的结果,不去重也不排序;
- union all比union性能好;
weixin_58209244: 卧槽,找了一万个方法,你这个不错
明快de玄米61: 先赞后看,养成习惯
cccccci_: 感谢分享!请问有基础教程的pdf的吗?
Dosage de fleurs: 如果既不使用any也不使用all得出来的结果会是怎样的呢?
2301_79457758: 非常感谢,祝身体健康,发大财