2
您可以将COUNT DISTINCT与OVER子句一起使用吗?
我正在尝试改善以下查询的性能: UPDATE [#TempTable] SET Received = r.Number FROM [#TempTable] INNER JOIN (SELECT AgentID, RuleID, COUNT(DISTINCT (GroupId)) Number FROM [#TempTable] WHERE Passed = 1 GROUP BY AgentID, RuleID ) r ON r.RuleID = [#TempTable].RuleID AND r.AgentID = [#TempTable].AgentID 目前,根据我的测试数据,大约需要一分钟。对于此查询所驻留的整个存储过程的更改,我的输入量有限,但我可能可以让他们修改此查询。或添加索引。我尝试添加以下索引: CREATE CLUSTERED INDEX ix_test ON #TempTable(AgentID, RuleId, GroupId, Passed) 它实际上使查询所花费的时间增加了一倍。我得到一个非聚集索引相同的效果。 我尝试将其重写如下,但没有任何效果。 WITH …