SET STATISTICS IO 的理解
SET STATISTICS IO 的理解
SET STATISTICS IO 的理解SET STATISTICS IO ON这个开关能够输出语句做的物理读和逻辑读的数目。对分析语句的复杂度有很重要的作用
一、语法
SET STATISTICS IO { ON | OFF }
二、注释
当 STATISTICS IO 为 ON 时,显示统计信息。为 OFF 时,不显示统计信息。
将该选项设置为 ON 后,所有的后续 Transact-SQL 语句将返回统计信息,直到将该选项设置为 OFF 为止。
三、SET STATISTICS IO实例分析
DBCC DROPCLEANBUFFERS
GO
SET STATISTICS IO ON
GO
SELECT DISTINCT([ProductID]),[UnitPrice] FROM [dbo].[SalesOrderDetail_test]
WHERE [ProductID]=777
GO
其返回的统计情况如下
(4 行受影响)
表 'SalesOrderDetail_test'。扫描计数 5,逻辑读取 15064 次,物理读取 0 次,预读 15064 次,lob 逻辑读取 0 次,lob 物理读取 0 次,lob 预读 0 次。
四、统计信息的解释
表:表的名称。这里的表就是SalesOrderDetail_test
扫描计数:执行的扫描次数。按照执行计划,表格被扫描了几次。一般来讲大表扫描的次数越多越不好。唯一的例外是如果执行计划选择了并发运行,由多个thread线程同时做一个表的读取,每个thread读其中的一部分,但是这里会显示所有thread的数目。也就是有几个thread在并发做,就会有几个扫描。这时数目大一点没问题的。
逻辑读取:从数据缓存读取的页数。页数越多,说明查询要访问的数据量就越大,内存消耗量越大,查询也就越昂贵。
可以检查是否应该调整索引,减少扫描的次数,缩小扫描范围
物理读取:从磁盘读取的页数
预读:为进行查询而预读入缓存的页数
物理读取+预读:就是SQLSERVER为了完成这句查询而从磁盘上读取的页数。如果不为0,说明数据没有缓存在内存里。运行速度一定会受到影响
LOB逻辑读取:从数据缓存读取的text、ntext、image、大值类型(varchar(max)、nvarchar(max)、varbinary(max))页的数目
LOB物理读取:从磁盘读取的text、ntext、image、大值类型页的数目
LOB预读:为进行查询而放入缓存的text、ntext、image、大值类型页的数目
五、第二次运行上面SQL语句
返回的统计结果
表 'SalesOrderDetail_test'。扫描计数 5,逻辑读取 15064 次,物理读取 0 次,预读 0 次,lob 逻辑读取 0 次, lob 物理读取 0 次,lob 预读 0 次。
这次逻辑读取不变,还是15064页。但是物理读取和预读都是0了。说明数据已经缓存在内存里,第二次运行不需要再从磁盘上读一遍,节省了时间。所以为了不影响其他测试,请运行下面语句关闭SET STATISTICS IO OFF
- sql server中check约束
- sql server优化性能(SQLServer地址搜索性能优化)
- sqlserver日期型数据类型是哪个(SQL Server时间戳功能与用法详解)
- sqlserver查看表和存储过程的架构(SQL Server 远程更新目标表数据的存储过程)
- SQL Server Management Studio(SSMS)复制数据库的方法(SQL Server Management StudioSSMS复制数据库的方法)
- 无法启动sql serveragent(SQL Agent服务无法启动的解决方法)
- sqlserver字段说明(详解SQL Server 中 JSON_MODIFY 的使用)
- sqlserver字符串判断函数(解决sql server保存对象字符串转换成uniqueidentifier失败的问题)
- sqlserver的图形表(SQL Server纵表与横表相互转换的方法)
- sql server 货币型例子(sql server把退款总金额拆分到尽量少的多个订单中详解)
- sql server重建索引
- sqlserver调试存储过程(sql server2008调试存储过程的完整步骤)
- sql server 共享锁
- sql server 视图操作(Sql Server 视图数据的增删改查教程)
- sqlserver配置管理器不见了(SQL Server配置管理器无法连接到WMI提供程序)
- SQL Server数据类型有哪些
- 古代的鸽子是爱情的象征,并非和平的使者(古代的鸽子是爱情的象征)
- 一课译词 放鸽子(一课译词放鸽子)
- 终于来了,淘宝更改账户名测试中,快去看看你能不能修改(淘宝更改账户名测试中)
- 淘宝支持账号名修改,网友 终于可以 重新做人 了(淘宝支持账号名修改)
- 盘点那些年让人称奇的年终奖 最后一个赢辣条毫无悬念(盘点那些年让人称奇的年终奖)
- 你还没有升职吗 他竟因为几套激励理论,升职了(你还没有升职吗)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9