[英]Why is this nested SQL code so slow
將ADODB記錄集與SQL Server 2016一起使用-此代碼的運行速度比我執行選擇查詢然后通過遍歷記錄集手動進行聚合的速度要慢得多。.有什么想法嗎?
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
它的運行速度似乎要快得多。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.