我有一個表,看起來像這樣:優化查詢以計算曆史求和值。日期
&ItemNo
&LocationId
&MovementDate
MovementWithinDay
Stock -- the field I need to update with sum of MovementWithinDay for all older records for same item
由於此表中包含超過300萬行需要花費很長的時間來填充股票領域。每一行都包含當天內的移動,我需要做的是根據MovementWithinDay的總和來計算這個項目的所有記錄,這個記錄比這個記錄早。這是一次性交易,因此移動到另一個結構是一種選擇。我用光標循環查看記錄,但速度非常慢。對每條記錄總結該項目的所有較舊記錄的查詢速度非常快但非常緩慢。
有沒有人能給我指示在最短的時間內做到這一點?
向我們展示您的查詢 – Magnus
我wrked上simialr問題,在我的博客中描述我的解決方案:反規範化,以執行業務規則:運行總計](HTTP: //sqlblog.com/blogs/alexander_kuznetsov/archive/2009/01/23/denormalizing-to-enforce-business-rules-running-totals.aspx) –