当前位置:首页 > 系统运维 > 正文内容

对SQL Server索引的统计概述

a8116255316年前 (2010-07-07)系统运维8

以下的文章主要是向大家讲述的是SQL Server索引的统计(Index statistics),正如前文我们所提到的,键的选择性是决定当执行一个查询时是否使用索引的重要因素。SQL Server在系统表sysindexs的statblob字段中存储了键的选择性和样本直方图的值。

查询优化器正是基于索引键对应于该列中的值和查询中的SARG,来决定使用哪个索引。

Statblob列是一个image类型列,为了看到存储在该列中的统计信息,可使用DBCC SHOW_STATISTICS命令,该命令返回下列信息:

一个直方图。它包含了SQL Server索引键的之一列的偶数个样本值。SQL Server在直方图中至多存储200个样本值。

索引中的组合列的索引密度。索引密度表明了SQL Server索引键的唯一性,本节随后将讨论。

计算统计信息时表中行数。

用于抽样生成统计信息的行数。

直方图中存储的样本值的个数。

键的平均长度值。

统计计算的日期和时间。

DBCC SHOW_STATISTICS语法如下:

DBCC SHOW_STATISTICS (tablename, index)

Listing 34.1显示了authors表中的在au_lname和au_fname列的aunmind非聚集SQL Server索引的统计信息。

Sql代码   Dbcc show_statistics (authors, aunmind)   Go   Dbcc show_statistics (authors, aunmind)  Go  Statistics for INDEX 'aunmind'.   Updated Rows Rows Sampled Steps Density Average key length   Aug 6 2001 1:34AM 23 23 22 0.0 24.52174   All density Average Length Columns   4.5454547E-2 7.3913045 au_lname   4.3478262E-2 13.52174 au_lname, au_fname   4.3478262E-2 24.52174 au_lname, au_fname, au_id   (3 row(s) affected)   RANGE_HI_KEY RANGE_ROWS EQ_ROWS DISTINCT_RANGE_ROWS AVG_RANGE_ROWS   Bennet 0.0 1.0 0 0.0   Blotchet-Halls 0.0 1.0 0 0.0   Carson 0.0 1.0 0 0.0   DeFrance 0.0 1.0 0 0.0   del Castillo 0.0 1.0 0 0.0   Dull 0.0 1.0 0 0.0   Green 0.0 1.0 0 0.0   Greene 0.0 1.0 0 0.0   Gringle *** y 0.0 1.0 0 0.0   Hunter 0.0 1.0 0 0.0   Karsen 0.0 1.0 0 0.0   Locksley 0.0 1.0 0 0.0   MacFeather 0.0 1.0 0 0.0   McBadden 0.0 1.0 0 0.0   O'Leary 0.0 1.0 0 0.0   Panteley 0.0 1.0 0 0.0   Ringer 0.0 2.0 0 0.0   Smith 0.0 1.0 0 0.0   Straight 0.0 1.0 0 0.0   Stringer 0.0 1.0 0 0.0   White 0.0 1.0 0 0.0   Yokomoto 0.0 1.0 0 0.0   

分析上面的输出,你能推算出统计最后的修改时间是2001年8月6日。当生成计信息时该表共有23行(Rows),所有23行都用来抽样生成统计信息(Rows Sampled)。键值的平均长度为24.52174字节(Average Key Length)。根据密度信息(Density),你能看到该SQL Server索引具有高选择性(低密度意味着高选择性——索引密度后面将涉及到)。表中23行数据,其中22行具有唯一值。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://2345hao.cn/blog/index.php/post/21561.html

分享给朋友:

“对SQL Server索引的统计概述” 的相关文章

windows 7系统开机提示press any key to restart的故障分析及解

windows 7系统开机提示press any key to restart的故障分析及解

Windows 7 64位系统开机后提示"press any key to restart",无法进入系统了,具体现象如下所示: 故障分析: 故障的主要原因还是硬盘的问题,可以先检查是不是接触不良或坏了,进行修复或更换即可。 解决方法: 1、开机按F8不动到高级选项出现在松手,选“...

如何删除自带的不常用应用为windows 7减负

如何删除自带的不常用应用为windows 7减负

对于Windows 7系统来说,其默认安装的许多工具是我们很少使用或从来不用的,比如系统自带的扫雷、纸牌游戏等。删除此类长期不用的系统组件,不但可以让系统更清爽,更重要的是还可以提高系统的运行速度,特别是对于硬件配置相对较低的上网本来说,尤其如此。接下来,笔者就给大家介绍一下如何删除Windows...

Skylake平台不能通过USB接口装windows 7系统

Skylake平台不能通过USB接口装windows 7系统

Intel会在2015年推出Broadwell、Skylake两代14nm处理器,前者可以使用9系芯片组,Skylake升级到了LGA1151插槽,需要搭配新的100系列芯片组,但初期的Skylake-S又不能超倍频,所以今年Q2季度开始会很混杂。Skylake一代会支持DDR4,100系列芯片组升...

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

Win 7系统中其他声音正常但酷狗音乐没声音怎么回事

故障现象: Windows 7酷狗软件无声音,系统声音正常。 原因分析: 1. 查看酷狗软件设置 2. 查看系统设置 解决方案: 1. Windows 7操作方法 如图:查看是否处于禁音状态   Windows 7系统声音正常酷狗音乐无声音 2. 查看设置音频输出是否...

windows 7系统怎么取消禁ping命令?

windows 7系统怎么取消禁ping命令?

当我在虚拟机的linux系统中ping本机的ip发现ping不通,而本机可以ping通虚拟机中的ip。应该是出于安全考虑吧,Windows 7默认在防火墙里禁止了。 1、查看主机ip 打开“开始”程序中的“附件”,找到“命令提示符”打开。输入命令:ipconfig,可以看到本机的ip是192.1...

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

windows 7系统下Windows服务被流氓软件注册怎么办?Windows服务

解决方法: 其实处理这些使用流氓软件,需要将相关的.exe文件删除,使它不能再运行,或者直接清除这个服务本身,使计算机重启的时候,它不会再启动。比如Hijackthis扫描,在扫描日志中,一般会把非Windows系统的服务以023的方式列出来,如下面这段: O23 - ...