SET STATISTICS IO (Transact-SQL)

使 SQL Server 顯示 Transact-SQL 陳述式所產生之磁碟活動量的相關資訊。

主題連結圖示Transact-SQL 語法慣例

語法

SET STATISTICS IO { ON | OFF }

備註

當 STATISTICS IO 是 ON 時,會顯示統計資訊。當它是 OFF 時,就不會顯示這項資訊。

在這個選項設為 ON 之後,所有後續 Transact-SQL 陳述式都會傳回統計資訊,直到這個選項設為 OFF 為止。

下表列出和描述輸出項目。

輸出項目

意義

資料表

資料表的名稱。

掃描計數

已執行之索引或資料表掃描的數目。

邏輯讀取

從資料快取中讀取的頁數。

實體讀取

從磁碟中讀取的頁數。

讀取前讀取

放入查詢快取中的頁數。

LOB 邏輯讀取

從資料快取中讀取的 text、ntext、image 或大數值類型 (varchar(max)、nvarchar(max)、varbinary(max)) 頁數。

LOB 實體讀取

從磁碟中讀取的 text、ntext、image 或大數值類型頁數。

LOB 讀取前讀取

放入查詢快取中的 text、ntext、image 或大數值類型頁數。

SET STATISTICS IO 的設定是在執行階段進行設定,而不是在剖析階段進行設定。

[!附註]

當 Transact-SQL 陳述式擷取 LOB 資料行時,有些 LOB 擷取作業可能需要往返 LOB 樹狀結構多次。這可能造成 SET STATISTICS IO 報告的數字高於預期的邏輯讀取次數。

權限

若要使用 SET STATISTICS IO,使用者必須有執行 Transact-SQL 陳述式的適當權限。不需要 SHOWPLAN 權限。

如需詳細資訊,請參閱<執行程序表安全性>。

範例

這個範例會顯示 SQL Server 在處理陳述式時,使用多少邏輯和實體讀取。

USE AdventureWorks2008R2;
GO       
SET STATISTICS IO ON;
GO
SELECT * 
FROM Production.ProductCostHistory
WHERE StandardCost < 500.00;
GO
SET STATISTICS IO OFF;
GO

結果集如下:

Table 'ProductCostHistory'. Scan count 1, logical reads 5, physical 
reads 0, read-ahead reads 0, lob logical reads 0, lob physical reads 0, 
lob read-ahead reads 0.