2009-06-18 17 views
1

私はSQL Server 2005データベースでアプリケーションをテストしており、sys.dm_exec_query_statsを使用してクエリパフォーマンスの予備的な図を確立しようとしています。古いデータを返すdm_exec_query_stats?

問題:私が興味を持っている特定のクエリがあります.total_elapsed_timeとlast_elapsed_timeは両方とも大きな数値です。私は統計の私の見解を更新した後、(これが正常に実行される)、そのクエリを呼び出すために私のアプリをくすぐるとき、私は

1)execution_count)が予想( 2をインクリメントしていることを見つける。)last_execution_time)が予想される(今まで を更新しました?3)last_elapsed_timeは依然として期待できない大きな値(ある - last_elapsed_timeがlast_execution_time @起こっ実行を参照している場合(矛盾変更されません)

4)total_elapsed_time)私は新しい値を予想し、その後、total_elapsed_timeが増加している必要がありますか?

このドキュメント:http://msdn.microsoft.com/en-us/library/ms189741(SQL.90).aspxは、last_execution_timeがプランが最後に実行された時刻であり、last_elapsed_timeは「最近実行されたプラン」からのものですが、その理由を教えてくれません。

クエリ自体は複雑ではありません(SELECT句/ WHERE/ORDER BY - where句に表示されるパラメータですが、巧妙な操作はありません)。テーブルは現在25行あります。

質問:1)execution_count、last_execution_time、およびlast_elapsed_timeの実際の関係は何ですか? 2)この関係の文書はどこにありますか(手動、第三者の本、ブログ、バグチケット、石タブレット...)?

答えて

0

これは実際にあなたの質問に答えてもわかりませんが、統計情報はテーブルの内容の約20%が変更された後にのみ更新されます。 UPDATE STATISTICSを実行した後、RECOMPILEを使用してクエリを実行すると、それは違いがありますか?

関連する問題