在 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中文网其他相关文章!