是否有比UNION ALL更快的方法

时间:2014-10-23 06:05:35

标签: sql sql-server

在SQL中我使用UNION ALL从不同的表中获取一些数据,但是需要很长时间才能得到结果。有没有使用UNION更快的方法来实现这一目标?

例如,查询如下所示:

select * 
from table_1 
where date between '20141001' and '20141020' 
UNION ALL  
select * 
from table_2 
where date between '20141001' and '20141020';

1 个答案:

答案 0 :(得分:0)

只有几点评论:

  • 考虑在两个表的date列上添加索引
  • 指定列的列表,而不是使用*
  • 仔细检查date列的数据类型:它是日期还是日期时间?如果是日期时间,你真的需要成为日期时间吗?