2012-11-07 15 views
7

にビジネスロジックを生成するアプリケーションのストアドプロシージャを作成しています。ストアドプロシージャのSQL Serverパフォーマンスチューニングを確認する方法

DBCC FREEPROCCACHE; 
DBCC DROPCLEANBUFFERS; 

GO 

SET STATISTICS TIME ON; 
SET STATISTICS IO ON; 

GO 

EXEC <my sproc> [args] 
:どのように私はスピードのようなストアドプロシージャのパフォーマンスをチェックすることができ、精度など 任意のアイデアや方向はずっと私がSPROCの速度をテストしていたときに、私は次のようなものを使用し、個人的に

答えて

16

を理解されるであろう

DBCC FREEPROCCACHE

プロシージャキャッシュをクリアするには、DBCC FREEPROCCACHEを使用してください。プロシージャ・キャッシュを解放すると、たとえば、キャッシュから再利用されるのではなく、アドホックSQL文が再コンパイルされます。 SQLプロファイラを見ていると、DBCC FREEPROCCACHEが機能するようになると、キャッシュ削除イベントが発生するのを見ることができます。 DBCC FREEPROCCACHEは、オプティマイザがメモリにキャッシュしたすべてのストアドプロシージャプランを無効にし、次回のプロシージャの実行時にSQL Serverに新しいプランを強制的にコンパイルします。シャットダウンし、サーバーを再起動せずに冷たいバッファキャッシュを使用してクエリをテストするための

DBCC DROPCLEANBUFFERS

使用DBCC DROPCLEANBUFFERS。 DBCC DROPCLEANBUFFERSはデータキャッシュを空にします。以前の照会の実行のためにバッファー・キャッシュにロードされたデータはすべて除去されます。 this blog post

、解析、コンパイル、および各ステートメントを実行するのに必要な時間をミリ秒単位で表示し

ON SET STATISTICS時間:から盗まれ恥知らず以上

ON

Further Reading (MSDN)

SET STATISTICS IOは、Transact-SQLステートメントによって生成されたディスクアクティビティの量に関する情報を表示するには、SQL Serverの原因。クエリの正確性については

Further Reading (MSDN)

、それは開発者として、あなたが見て取らなければならないものです。正確性をテストする自動化された方法はないと思います。

うまくいけばそれはあなたを始めてくれるでしょう。

注:これはSSMS内で行います。

関連する問題