ステートメントとバッチの処理時間 [SQL Server]
SQL ServerでProfilerや拡張イベントを分析していると、SQL文実行に伴う実行時間をチェックすることがあります。そのとき、Durationと呼ばれる値を分析します。
SQL文の処理を見るときは実行終了、Completeが含まれるイベントを見ますが、
SQL:StmtCompleted
SQL:BatchCompleted
こんなイベントがあると思います。今回ストアドプロシージャについては割愛します。
時々これらの違いって何ですかと聞かれるのですが、私が認識している限りで言うと、以下のような感じです。
■SQL:StmtCompleted
1つ1つのSQL文の実行終了を記録
■SQL:BatchCompleted
バッチ単位で実行終了を記録。
バッチとは処理のひとかたまりで、スタートからGoまでの塊。
複数のステートメントから成る
なのでバッチ実行時間はステートメント実行時間よりも大きいはずです。
スポンサードリンク
SQL文の処理を見るときは実行終了、Completeが含まれるイベントを見ますが、
SQL:StmtCompleted
SQL:BatchCompleted
こんなイベントがあると思います。今回ストアドプロシージャについては割愛します。
時々これらの違いって何ですかと聞かれるのですが、私が認識している限りで言うと、以下のような感じです。
■SQL:StmtCompleted
1つ1つのSQL文の実行終了を記録
■SQL:BatchCompleted
バッチ単位で実行終了を記録。
バッチとは処理のひとかたまりで、スタートからGoまでの塊。
複数のステートメントから成る
なのでバッチ実行時間はステートメント実行時間よりも大きいはずです。
スポンサードリンク
コメント 0