是否可以对来自的两个值求和COUNT(DISTINCT [something])
?我有一张表,里面有近 4 亿条记录。该表根据用户访问而增加,现在我想COUNT(DISTINCT [SpecialUser])
根据正常查询获得基础,大约需要 5-6 分钟才能给出查询答案。现在我在想,如果有可能:
保存昨天的答案
COUNT(DISTINCT [SpecialUser])
,命名total
,然后与今天的结果相加以提高查询速度?我知道由于 Distinct 以正常方式不可能,但是还有其他解决方案吗?
作为参考,这里是完整的查询:
DECLARE @Total_User int
SELECT @Total_User = COUNT(DISTINCT [SpecialUser])
FROM [dbo].[Visit] AS V
WHERE
LEN([SpecialUser]) > 1
UPDATE [dbo].[Stat]
SET Total_User=@Total_User
WHERE ID = 1;