合計計算を実行しているSQL Server:比較分析
以下に示すように、1つのアプローチが集約セットステートメントを使用します
アグリゲーターセットステートメントメソッドの注意事項<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での実行の合計を効率的に計算するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。