102

(C#/Linq を使用して) データ インポートを実行していますが、当然のことながら、クエリを可能な限り最適化しようとしています。この目的のために、SQL Server Profiler を使用して DB でトレースを実行しています。トレースは SQL ログイン名 (データ インポート プロセスに一意に関連付けることができる名前です) でフィルター処理されます。

奇妙なことに、私の SQL ステートメントのほとんどは本当に高速です :) - 1 ミリ秒のマークを超えるクエリはほとんどありません。しかし、すべてのクエリの間には、EventClass が「Audit Login」または「Audit Logout」である行がいくつかあります。「Audit Logout」の期間は最大 1 分です。

これは、インポートでトランザクションを使用しているという事実と関係がありますか? もしそうなら、どれが大ヒットのクエリであるかを見つけて、それらをクリーンアップできる方法はありますか?

4

4 に答える 4

86

私の記憶が正しければ、監査ログアウトの期間は、接続が開いていた時間の長さです。たとえば、コマンドの速度とは関係ありません。ログインが「ログイン」された時間だけです。

于 2010-01-25T13:30:53.400 に答える
12

ログイン/ログアウト イベントは、セットアップ/破棄に関連しています。IIRC の時間は、他のログ イベントの場合の処理​​時間ではなく、「ログインした時間」です。

一般に、接続プールの管理などに問題があると疑わない限り、これらのイベントは非表示になります。

バッチの生時間は、トランザクションなどの影響を含め、実際のアクティビティにかかる時間を診断するのに十分なはずです。

于 2010-01-25T13:32:45.050 に答える
3

監査ログアウト イベント クラスは、ユーザーが Microsoft SQL Server からログアウト (ログオフ) したことを示します。このクラスのイベントは、新しい接続または接続プールから再利用される接続によって起動されます。

これは、アイドル時間を含む、接続がログインしていた合計時間であるため、パフォーマンスの問題を示しているわけではありません。また、ログイン/ログアウトのプロファイリングがパフォーマンスの問題を引き起こす可能性はほとんどありません。実行時間の長いクエリなど、パフォーマンスの低いクエリを探したほうがよいでしょう。

詳細については、https ://msdn.microsoft.com/en-us/library/ms175827.aspx をお勧めします:)

于 2015-02-14T11:30:06.680 に答える
3

また、この回答のように、監査ログイン/ログアウトは、接続が接続プールから再利用されている/接続プールに返されていることを意味する場合があることに注意してください。

于 2011-07-04T12:25:50.700 に答える