データベースにストアドプロシージャがあります。そのストアドプロシージャを呼び出すときには、時には1分かかり、時には10分かかりますが、それ以外の時間を要する場合もあります。この貧しいクエリやストアドプロシージャまたは多くの時間がかかるストアドプロシージャ
IF (EXISTS (SELECT 1
FROM table1 PWI (NOLOCK)
INNER JOIN table2 W (NOLOCK) ON PWI.ID = W.ID
WHERE W.Flag = 1
AND PWI.PatID IN (SELECT PatID FROM @table3)
AND W.SubID IN (SELECT SubID FROM @table4)))
は、この問題を解決するのに役立ちますいくつかの他のサーバーの問題を再書き込みする必要がある場合
以下のステップだけでは、全体のプロセスに多くの時間を割いて、わからない
実行計画を改善できますか? –
まずはNOLOCKのヒントを取り除くべきです。彼らは時間の99.999%という素晴らしいアイデアではありません。 http://blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere/ –
テーブル定義(インデックスを含む)、実行計画、およその行数がすべてここで非常に役立ちます。 –