- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
?SQL Server 统计信息理解(总结)2015-01-17 17:21?1275人阅读?评论(0)?收藏?举报?分类:SQLServer(188)??SQLServer 调优优化(16)?前言Sqlserver 查询是基于开销查询的,在首次生成执行计划时,是基于多阶段的分析优化才确定出较好的执行计划。而这些开销的基数估计,是根据统计信息来确定的。统计信息其实就是对表的各个字段的总体数据进行分段分布,数据库默认都会自动维护。?表和视图都有统计信息,统计信息对象是根据索引或表列的列表创建的。当某列第一次最为条件查询时,将创建单列的统计信息。当创建索引时,将创建同名的统计信息。索引中,统计信息只统计首列,因此索引除了按首列排序存储数据外,其统计信息也是按首列计算统计的,所以索引设置时定义的第一列非常重要。每个统计信息对象都在包含一个或多个表列的列表上创建,并且包括显示值在第一列中的分布的直方图。?接下来了解统计信息吧~~ ^ ^统计信息的查看:可以看到,统计信息也是表的一种对象。[sql]?view plain?copy?--列出表中的所有统计信息??select?*?from?sys.stats?where?object_id=OBJECT_ID(N[Sales].[SalesOrderDetail])??[sql]?view plain?copy?--查看统计信息及其列??SELECT?s.name?AS?statistics_name?,c.name?AS?column_name?,sc.stats_column_id??FROM?sys.stats?AS?s??INNER?JOIN?sys.stats_columns?AS?sc?ON?s.object_id?=?sc.object_id?AND?s.stats_id?=?sc.stats_id??INNER?JOIN?sys.columns?AS?c??ON?sc.object_id?=?c.object_id?AND?c.column_id?=?sc.column_id??WHERE?s.object_id?=?OBJECT_ID(N[Sales].[SalesOrderDetail]);????--查看所有统计信息更新时间??exec?sp_helpstats?N[Sales].[SalesOrderDetail],?ALL??统计信息的属性:右键统计信息,选择“属性”,可看到统计信息的设置和分布。[sql]?view plain?copy?还可以使用命令DBCC?SHOW_STATISTICS查看,以下为列。??DBCC?SHOW_STATISTICS([Sales].[SalesOrderDetail],IX_SalesOrderDetail_ProductID)??主要分为三部分,分别为“统计信息头部”,“密度向量”,“直方图”1?统计信息头信息列名说明Name统计信息对象的名称(IX_SalesOrderDetail_ProductID)Updated上一次更新统计信息的日期和时间(Mar 14 2012? 1:14PM)Rows上次更新统计信息时表或索引视图中的总行数(121317)。如果筛选统计信息或者统计信息与筛选索引对应,该行数可能小于表中的行数Rows Sampled用于统计信息计算的抽样总行数(121317)。如果 Rows Sampled Rows,显示的直方图和密度结果则是根据抽样行估计的。Steps直方图中的梯级数(200)。?每个梯级都跨越一个列值范围,后跟上限列值。?直方图梯级是根据统计信息中的第一个键列定义的。最大梯级数为 200。Density计算公式为:1/统计信息对象第一个键列中的所有值(不包括直方图边界值)的?distinct values。(0.0078125)?查询优化器不使用此 Density 值,显示此值的目的是为了与 SQL Server 2008 之前的版本实现向后兼容。Average Key Length统计信息对象中所有键列的每个值的平均字节数(12 :3个int类型。 ProductID, SalesOrderID, SalesOrderDetailID)String Index(NO)Yes 指示统计信息对象包含字符串摘要统计信息,以改进对使用 LIKE 运算符的查询谓词的基数估计;例如?WHERE ProductName LIKE %Bike。?字符串摘要统计信息与直方图分开存储,如果统计信息对象为char、varchar、nchar、nvarchar、varchar(max)、nvarchar(max)、text?或?ntext.?类型,则基于其第一个键列创建字符串摘要统计信息。Filter Exp
文档评论(0)