mysql的union操作是先做查询然后把结果集求并。union的过程中会使用到临时表,所以当结果集比较小时,union的速度比较快,5万的结果集union all一次大约要1,2秒的时间,但如果是50万的结果集可能就要100秒了。因此如果结果集很大应该尽量避免使用union,尤其是union all,完全可以通过两次查询得到。