SET STATISTICS IO (Transact-SQL)
使 SQL Server 显示有关由 Transact-SQL 语句生成的磁盘活动量的信息。
语法
SET STATISTICS IO { ON | OFF }
注释
如果 STATISTICS IO 为 ON,则显示统计信息。如果为 OFF,则不显示统计信息。
如果将此选项设置为 ON,则所有后续的 Transact-SQL 语句将返回统计信息,直到将该选项设置为 OFF 为止。
下表列出并说明了各个输出项。
输出项 |
含义 |
---|---|
Table |
表的名称。 |
Scan count |
执行的索引或表扫描数。 |
logical reads |
从数据缓存读取的页数。 |
physical reads |
从磁盘读取的页数。 |
read-ahead reads |
为进行查询而放入缓存的页数。 |
lob logical reads |
从数据缓存读取的 text、ntext、image 或大值类型 (varchar(max)、nvarchar(max)、varbinary(max)) 页的数目。 |
lob physical reads |
从磁盘读取的 text、ntext、image 或大值类型页的数目。 |
lob read-ahead reads |
为进行查询而放入缓存的 text、ntext、image 或大值类型页的数目。 |
SET STATISTICS IO 是在执行或运行时设置,而不是在分析时设置。
注意 |
---|
当 Transact-SQL 语句检索 LOB 列时,有些 LOB 检索操作可能需要多次遍历 LOB 树。这可能会导致 SET STATISTICS IO 报告的次数比预期的逻辑读取次数更高。 |
示例
以下示例显示 SQL Server 处理语句时,进行了多少次逻辑读和物理读操作。
USE AdventureWorks;
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.