注册 登录
编程论坛 SQL Server论坛

救助,关于union语句的优化

球球 发布于 2008-09-02 11:28, 1073 次点击
请问,下面的这条语句该怎么优化?
Select Count(*) as usercount from (

SELECT UserID FROM IPTV_COOK_PROGRESS where RowTime between '08-08-01' and '08-08-31'

UNION SELECT UserID FROM IPTV_FISH_HISTORY where RowTime between '08-08-01' and '08-08-31'

UNION SELECT UserID FROM IPTV_FIND_HISTORY where RowTime between '08-08-01' and '08-08-31'

UNION SELECT UserID FROM IPTV_QUIZ_HISTORY where RowTime between '08-08-01' and '08-08-31') a
2 回复
#2
bb38522008-09-02 13:13
1 * 改为1
2 union 改为union all
3 between and 改为>= <=
4 RowTime建立索引
#3
球球2008-09-05 02:09
谢谢。我分别在RowTime_UserID,RowTime,UserID上面创建了索引,查询百万条数据,从1万6毫秒提高到2百毫秒以内。
1