SET STATISTICS TIME (Transact-SQL)

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

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

Transact-SQL 構文表記規則

構文

  
SET STATISTICS TIME { ON | OFF }  

Note

SQL Server 2014 (12.x) 以前のバージョンの Transact-SQL 構文を確認するには、以前のバージョンのドキュメントを参照してください。

解説

SET STATISTICS TIME が ON の場合、ステートメントの処理時間の統計が表示されます。 OFF の場合、時間の統計は表示されません。

SET STATISTICS TIME は、解析時ではなく実行時に設定されます。

Microsoft SQL Server は、簡易プーリング構成オプションを有効にしたときに起動されるファイバー モードでは正確な統計情報を提供できません。

sysprocesses テーブル内の cpu 列が更新されるのは、SET STATISTICS TIME が ON の状態でクエリが実行されたときだけです。 SET STATISTICS TIME が OFF の場合は、0 が返されます。

この設定が ON であるか OFF であるかによって、SQL Server Management Studio の [現在の利用状況] の [プロセス情報] ビューにある CPU 列にも影響します。

アクセス許可

SET STATISTICS TIME を使用するには、Transact-SQL ステートメントを実行するための適切な権限が必要です。 SHOWPLAN 権限は必要ありません。

この例では、サーバーの実行、解析、コンパイルの時間を表示します。

USE AdventureWorks2022;  
GO         
SET STATISTICS TIME ON;  
GO  
SELECT ProductID, StartDate, EndDate, StandardCost   
FROM Production.ProductCostHistory  
WHERE StandardCost < 500.00;  
GO  
SET STATISTICS TIME OFF;  
GO  

結果セットは次のようになります。

SQL Server parse and compile time:   
   CPU time = 0 ms, elapsed time = 1 ms.  
SQL Server parse and compile time:   
   CPU time = 0 ms, elapsed time = 1 ms.  
  
(269 row(s) affected)  
  
SQL Server Execution Times:  
   CPU time = 0 ms,  elapsed time = 2 ms.  
SQL Server parse and compile time:   
   CPU time = 0 ms, elapsed time = 1 ms.  
  

参照

SET ステートメント (Transact-SQL)
SET STATISTICS IO (Transact-SQL)