在 SQL Server 中處理時間序列資料時,有效計算運行總計至關重要。 有幾種方法,每種方法都有自己的優點和缺點。
聚合器設定語句技術
一種方法是利用聚合集語句,如下所示:
<code class="language-sql">INSERT INTO @AnotherTbl(id, somedate, somevalue, runningtotal) SELECT id, somedate, somevalue, null FROM TestTable ORDER BY somedate DECLARE @RunningTotal int SET @RunningTotal = 0 UPDATE @AnotherTbl SET @RunningTotal = runningtotal = @RunningTotal + somevalue FROM @AnotherTbl</code>
聚合器設定語句方法的注意事項
此方法的效率被一個關鍵限制所抵消:無法保證 UPDATE
語句的處理順序。 除非資料按升序主鍵排序,否則這可能會導致結果不準確。
替代方法
幾種替代方案可提供更可靠的結果:
表現評估
效能測試表明,基於遊標的方法通常為計算 SQL Server 中的運行總計提供速度和可靠性的最佳組合,尤其是對於大型資料集。
選出正確的方法
最佳方法取決於資料集大小和效能需求。對於精度至關重要的大型資料集,建議使用基於遊標的方法。 對於較小的資料集或精確順序並不重要的情況,替代方法可能就足夠了。
以上是如何在SQL Server中有效計算運行總計?的詳細內容。更多資訊請關注PHP中文網其他相關文章!