SSMSでバッチを送信(クエリの実行など)すると、ステータスバーに実行にかかった時間が表示されます。ミリ秒の解像度でクエリ時間を表示するようにSSMSを構成することは可能ですか?
ここで、関心のあるセクションを赤で囲んだバーについて説明します。
私はこれを見つけるまで私はそれに苦労していました...
また、[プロパティ]ウィンドウを開くと、魔法のような「接続経過時間」が表示され、実行時間が長くなる場合があります...
あなたがしたいことはこれです:
set statistics time on
-- your query
set statistics time off
これにより、メッセージウィンドウに次のような出力が表示されます。
SQL Serverの実行時間:CPU時間= 6ミリ秒、経過時間= 6ミリ秒。
次のいずれかを実行して、クライアント統計をオンにします。
次に、最後の10個の実行(プラス平均)のタイミング、IOデータ、行数などを記録する新しいタブを取得します。
実行時間をプロシージャの変数として取得するには:
DECLARE @EndTime datetime
DECLARE @StartTime datetime
SELECT @StartTime=GETDATE()
-- Write Your Query
SELECT @EndTime=GETDATE()
--This will return execution time of your query
SELECT DATEDIFF(ms,@StartTime,@EndTime) AS [Duration in millisecs]
そしてこれを見て
私は同じことをした後、次のリンクを見つけました。
http://www.sqlserver.info/management-studio/show-query-execution-time/
パフォーマンスを測定する3つの異なる方法を示しています。すべてが自分の長所に適しています。私が選んだのは次のとおりです。
@ Time1 DATETIMEの宣言
@ Time2 DATETIMEの宣言
SET @ Time1 = GETDATE()
-ここにクエリを挿入
SET @ Time2 = GETDATE()
SELECT DATEDIFF(MILLISECOND、@ Time1、@ Time2)AS Elapsed_MS
これにより、クエリの結果に、完了までにかかった時間が表示されます。
お役に立てれば。
情報バーの拡張については知りません。
ただし、[メッセージ]タブに表示されるすべてのクエリのデフォルトとしてタイミングを設定できます。
[クエリ]ウィンドウで、[クエリメニュー]項目に移動し、[クエリオプション]を選択し、[実行]グループで[詳細]を選択し、[統計時間の設定]/[統計IOの設定]チェックボックスをオンにします。これらの値は、各統計情報のメッセージ領域に表示され、設定された統計のオンとオフを忘れずに表示されます。
Shift + Alt + Sを使用して、いつでもクライアント統計を有効にすることもできます
このコードを試すことができます:
USE AdventureWorks2012;
GO
SET STATISTICS TIME ON;
GO
SELECT ProductID, StartDate, EndDate, StandardCost
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS TIME OFF;
GO