5

SQL Server プロファイラー トレースの継続時間の値は、同じクエリを実行してクエリの実行時間を調べた場合よりも、クエリの値が大きいことを示しています。なぜそうなのか、または私が見逃している他のことは何ですか?

4

2 に答える 2

1

バージョンは、動的に生成される SP のプロファイリングの一部ですか?

例えば

..
@sql = 'select * from ' + @tablename
exec (@sql)

ほとんどの SP は最初の実行後にプリコンパイルされますが、上記のスニペットのような非静的コードを含む SP は決してプリコンパイルされません。しかし、クエリウィンドウで実行していた場合

select * from the_table_name

これは、あなたが見ている違いを示すかもしれません。恐れ入りますが、ちょっとした推測です。SPなどの一部である場合、クエリの実行方法について詳しく教えてください。

于 2012-04-27T10:28:50.530 に答える
1

どのくらい大きいですか?プロファイラーでは、期間がマイクロ秒単位で保存されることをご存知ですか? したがって、1000000 は 1 秒を意味します。

それに加えて、実行計画の再利用や、SSMS は UI ツールであり、クエリをデータベースに送信する前に別の処理を行っている可能性があるという事実など、他のことも考慮する必要があります。プロファイラーは、 DBでの実行。これにより、実行についてさらに数秒説明できます

于 2012-04-27T09:48:29.597 に答える