博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

UNION和UNION ALL 的区别

Posted on 2010-06-05 16:27  moss_tan_jun  阅读(344)  评论(0编辑  收藏  举报

 

在数据库中,UNION和UNION ALL关键字都是将两个结果集合并为一个,但这两者从使用和效率上来说都有所不同。
UNION在运行时先取出几个表结果,再用排序空间进行排序删除重复记录,最后返回结果集,如果表数据量大话可能会导致用磁盘进行排序。
而UNION ALL只是简单将两个结果合并后就返回。这样,如果返回两个结果集中有重复数据,那么返回结从效率上说,UNION ALL 要比UNION快很多,所以,如果可以确认合并两个结果集中不包含重复数据话,那么就使用UNION ALL。