SQL Serverでは、SET STATISTICS TIMEを使用できます。 T-SQLステートメントの実行にかかる時間を表示するステートメント。
具体的には、各ステートメントの解析、コンパイル、実行に必要なミリ秒数を返します。
SET STATISTICS TIMEの場合 ONです 、ステートメントの時間統計が表示されます。 OFFの場合 、時間統計は表示されません。
SET STATISTICS TIMEの設定 解析時ではなく、実行時または実行時に設定されます。
例
これがデモンストレーションの簡単な例です。
SET STATISTICS TIME ON;
GO
SELECT
c.CityName,
s.StateProvinceName AS State,
c.LatestRecordedPopulation AS Population
FROM Application.Cities c
INNER JOIN Application.StateProvinces s
ON c.StateProvinceID = s.StateProvinceID
WHERE c.LatestRecordedPopulation > 2000000
ORDER BY c.LatestRecordedPopulation DESC;
GO 結果:
Commands completed successfully. +-------------+------------+--------------+ | CityName | State | Population | |-------------+------------+--------------| | New York | New York | 8175133 | | Los Angeles | California | 3792621 | | Chicago | Illinois | 2695598 | | Brooklyn | New York | 2565635 | | Queens | New York | 2272771 | | Houston | Texas | 2099451 | +-------------+------------+--------------+ SQL Server parse and compile time: CPU time = 4 ms, elapsed time = 6 ms. Commands completed successfully.
GUIを使用していますか?
SSMSやAzureDataStudioなどのGUIでクエリを実行している場合は、メッセージをクリックする必要がある場合があります 時間統計を表示するには、タブなどを使用します。
AzureDataStudioで前のクエリを実行するとどうなりますか。
結果は得られますが、STATISTICS TIMEがありません 情報。その情報を表示するには、メッセージをクリックする必要があります 。それが済んだら、関連情報を見ることができます。
後続のクエリ
ONに設定したら 、後続のクエリはすべてSTATISTICS TIMEを返します OFFに設定されるまでの情報 。
これは、最初のクエリの直後にコマンドラインインターフェイスで実行した別のアドホッククエリです。
SELECT COUNT(*) FROM Application.People; 結果:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ SQL Server parse and compile time: CPU time = 6 ms, elapsed time = 6 ms.
すでにSTATISTICS TIMEを設定していました ONへ 以前は、したがって、再度実行する必要はありません。
オフにする
オフにするには、OFFに設定するだけです。 。
SET STATISTICS TIME OFF; これで、T-SQLステートメントを実行すると、クエリで時間統計が取得されなくなりました。
SELECT COUNT(*) FROM Application.People; 結果:
+--------------------+ | (No column name) | |--------------------| | 1111 | +--------------------+ (1 row affected)