sql2008 很奇怪的一个sql问题
SELECT UserId,
UserName,
SUM(Amount) AS allBuyMoney,
FROM Cp_PrintOut WITH ( NOLOCK )
WHERE 1 = 1
AND ReceiveTime BETWEEN '2013-12-01 0:00:00'
AND '2014-1-5 0:00:00'
AND Status >2
GROUP BY UserId,UserName
sql语句一样 当我把时间 调整到eceiveTime BETWEEN '2013-1-01 0:00:00' AND '2014-1-5 0:00:00'
速度反而快
原因大概知道 当时间段小的时候sql自动按照sort group by 来执行
而相反 按照hash group by 执行
求解 如何才能都按照 hash group by 执行
因为在我执行时间短的范围内会超时 执行时间范围大的反而10秒就查询出来
求高手解答
在线急等……
------解决方案--------------------改成这样:
SELECT UserId,
UserName,
SUM(Amount) AS allBuyMoney,
FROM Cp_PrintOut WITH ( NOLOCK )
&nbs