union和union all 的区别
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的过程是表与历史表UNION。UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据那么返回集就会包含重复的数据了,从效率上来说,UNION ALL要比UNION快的多,所以如果可以确定合并的两个结果集中不包含重复的数据的话,那么使用UNION ALL.
UNION在进行表链接后会筛选掉重复的记录,所以在表链接后会对所产生的结果集进行排序运算,删除重复的记录再返回结果。实际大部分应用中是不会产生重复的记录,最常见的过程是表与历史表UNION。UNION ALL只是简单的将两个结果合并后就返回。这样,如果返回的两个结果集中有重复的数据那么返回集就会包含重复的数据了,从效率上来说,UNION ALL要比UNION快的多,所以如果可以确定合并的两个结果集中不包含重复的数据的话,那么使用UNION ALL.