运行缓慢的累积SQL Server更新总数查询

时间:2018-08-08 18:31:21

标签: sql-server

我正在一个表上运行总计六种产品的133K记录,每个表都花了一个多小时。我在ID和产品上有一个主要索引。我该怎么做才能加快速度?

Update T_Decile
SET Cum_Pct  = (SELECT SUM(h.Pct)
                FROM   T_Decile h
                WHERE  h.ID <= t.ID
                And h.Product = 'ULTRESA'
               )
From T_Decile t
;

1 个答案:

答案 0 :(得分:0)

由于不等式,这种查询有时称为三角查询。它们始终为O(N ^ 2)。很棒的文章:Hidden RBAR: Triangular Joins