为什么这个嵌套的 SQL 代码这么慢

Why is this nested SQL code so slow

在 SQL 服务器 2016 中使用 ADODB 记录集 - 此代码 运行 比我只执行 select 查询和 慢得多然后通过遍历记录集手动进行聚合。有什么想法吗?

SELECT SUM(wk1) AS wk1, SUM(wk2) AS wk2, SUM(wk3) AS wk3
    , SUM(recCount) AS recCount, MIN(Segment) AS Segment, Bucket
FROM (
    SELECT *, 1 AS recCount, NTILE(8) OVER (ORDER BY NEWID()) AS Bucket
    FROM [Data]
    WHERE (1 = 1 AND [Area] = 'EAST') AND Segment = 2
    ) AS q
GROUP BY Bucket

好像是

NTILE(8) OVER (ORDER BY NEWID()) 

件。如果我改为使用

(ROW_NUMBER() OVER (ORDER BY (SELECT NULL)) % 8) + 1

好像快多了。