当前位置:  开发笔记 > 数据库 > 正文

sql statistics io扫描计数说明

如何解决《sqlstatisticsio扫描计数说明》经验,为你挑选了4个好方法。

简单的问题,但我没有在谷歌找到一个很好的解释.使用Set Statistics IO ON时,管理工作室的消息窗口中提供了逻辑读取和扫描计数.如果我有:

tbl例如,扫描计数5,逻辑读取20

扫描计数表示什么?



1> Jeff Atwood..:

就"表扫描"的含义而言,我能找到的最好的是:

扫描计数仅表示在查询期间访问表或索引的次数.它可以是全扫描,部分扫描或简单搜索.

换句话说,单独扫描计数本身并不足以使信息继续进行.您需要确切了解这些扫描的内容 - 因此您需要查看实际执行计划以获取更多详细信息.最重要的是,它本身并不是一个非常有用的指标!

另外:

http://www.eggheadcafe.com/software/aspnet/32171165/set-statistics-io-scan-count-explanation.aspx

不幸的是,这些天的扫描计数不是很有用.嗯,如果你看到像19223这样的数字,表可能会通过嵌套循环连接多次访问.

曾经有一段时间"扫描计数"仅仅意味着"访问时间表",但很久以前,可能在SQL 6.5中.您唯一一次获得定义为0的扫描计数就像是...

select *
from TestA1
where CompanyID = 1
and CompanyID = 2

... SQL Server可以在不访问表的情况下得出结论,查询不会返回任何行.


您*可以*获得0的扫描计数,如果您正在查找唯一索引,则返回一行.例如`SET STATISTICS IO ON; SELECT*FROM [master].[dbo].[spt_values] WHERE type ='A'AND number = 1 AND name ='rpc'`这是[这里]记录的(http://blogs.msdn.com/b/ sqlserverfaq /存档/ 2010/09/14 /扫描计数意式设置统计-IO-output.aspx)

2> SQLMenace..:

从在线书籍

扫描计数: 执行的索引或表扫描数.

逻辑读取: 从数据高速缓存读取的页数.

物理读取: 从磁盘读取的页数.

预读读取: 放入查询缓存的页数.

另请参见:http://technet.microsoft.com/en-us/library/ms184361.aspx



3> Gennady Vani..:

如果继续收集msdn引用.然后[1]在[2]中重复:

" 逻辑读取"
此值表示处理查询所需的页面访问总数.每个页面都从数据高速缓存中读取,无论是否有必要将该页面从磁盘带入高速缓存以进行任何给定读取.此值为始终至少与物理读取的值一样大且通常都大.同一页面可以多次读取(例如从索引驱动查询时),因此表格的逻辑读取次数可能大于表格中的页数.

物理读取
此值表示从磁盘读取的页数; 它始终小于或等于逻辑读取的值.性能监视器显示的缓冲区高速缓存命中率的值是根据逻辑读取和物理读取值计算的,如下所示:

Read Ahead Reads
Read Ahead Reads值表示在处理查询时使用预读机制读入缓存的页数.查询不一定使用这些页面.如果最终需要页面,则计算逻辑读取但不读取物理读取.较高的值意味着物理读取的值可能较低,并且缓存命中率可能高于... [由vgv8截断]

扫描计数
"扫描计数"值表示访问相应表的次数.嵌套循环连接的外表具有扫描计数1.对于内部表,扫描计数可能是访问该表的"通过循环"的次数.逻辑读取的数量由扫描计数乘以每次扫描时访问的页数之和确定.但是,即使对于嵌套循环连接,内部表的扫描计数也可能显示为1. SQL Server可能会将所需的行从内部表复制到缓存中的工作表中,并使用此工作表来访问实际的数据行.在计划中使用此步骤时,STATISTICS IO输出中通常不会显示该步骤.您必须使用STATISTIC TIME的输出,以及有关实际使用的处理计划的信息,确定执行查询所涉及的实际工作.散列连接和合并连接通常将连接中涉及的两个表的扫描计数显示为1,但这些类型的连接可能涉及更多的内存.您可以在执行查询时检查sysprocesses中的memusage值,但与physical_io值不同,这不是累积计数器,仅对当前运行的查询有效.一旦查询完成,就无法查看它使用了多少内存." 这不是累积计数器,仅对当前运行的查询有效.一旦查询完成,就无法查看它使用了多少内存." 这不是累积计数器,仅对当前运行的查询有效.一旦查询完成,就无法查看它使用了多少内存."

[1]
第4章查询性能故障排除.监控
Microsoft®SQLServer™ 2005中的查询性能:
Kalen Delaney的 查询调优和优化


出版社:Microsoft Press
Pub日期:2007年9月26日
打印ISBN-10:0-7356-2196-9
打印ISBN-13:978-0-7356-2196-1
页数:448

[2]
监控查询性能
优化查询性能
作者:Ron Soukup,Kalen Delaney,
第14章,内部Microsoft SQL Server 7.0,由Microsoft出版社出版
http://technet.microsoft.com/en-us/library/cc917719.aspx#ECAA



4> Martin Smith..:

这里有一个全面的总结.

"SCAN COUNT在SET STATISTICS IO输出中的含义" - 第1部分

"SCAN COUNT在SET STATISTICS IO输出中的含义" - 第2部分

推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有