SQL Server 统计信息理解(总结)
排骨炖玉米的做法2015-01-17 17:21 1275人阅读评论(0) 收藏举报
分类:
SQLServer(188) SQLServer 调优优化(16)
前言
Sqlrver 查询是基于开销查询的,在首次生成执行计划时,是基于多阶段的分析优化才确定出较好的执行计划。而这些开销的基数估计,是根据统计信息来确定的。统计信息其实就是对表的各个字段的总体数据进行分段分布,数据库默认都会自动维护。
表和视图都有统计信息,统计信息对象是根据索引或表列的列表创建的。当某列第一次最为条件查询时,将创建单列的统计信息。当创建索引时,将创建同名的统计信息。索引中,统计信息只统计首列,因此索引除了按首列排序存储数据外,其统计信息也是按首列计算统计的,所以索引设置时定义的第一列非常重要。每个统计信息对象都在包含一个或多个表列的列表上创建,并且包括显示值在第一列中的分布的直方图。
接下来了解统计信息吧~~ ^ ^
统计信息的查看:
白云像
可以看到,统计信息也是表的一种对象。
[sql]view plain copy
1.--列出表中的所有统计信息
微信爱
2.lect * from sys.stats where object_id=OBJECT_ID(N'[Sales].[SalesOrderDetai
瘦肉汤l]')
[sql]view plain copy
猫来了
1.--查看统计信息及其列
百无聊赖的意思2.SELECT s.name AS statistics_name ,c.name AS column_name ,sc.stats_column_id
3.FROM sys.stats AS s
4.INNER JOIN sys.stats_columns AS sc ON s.object_id = sc.object_id AND s.stats描写草的诗句
_id = sc.stats_id
5.INNER lumns AS c ON sc.object_id = c.object_id lumn_id =
6.WHERE s.object_id = OBJECT_ID(N'[Sales].[SalesOrderDetail]');
7.
8.--查看所有统计信息更新时间
< sp_helpstats N'[Sales].[SalesOrderDetail]', 'ALL'
统计信息的属性:
右键统计信息,选择“属性”,可看到统计信息的设置和分布。
[sql]view plain copy答题活动
1.还可以使用命令DBCC SHOW_STATISTICS查看,以下为列。
2.DBCC SHOW_STATISTICS('[Sales].[SalesOrderDetail]','IX_SalesOrderDetail_Produ
ctID')
1 统计信息头信息
列名说明