统计的基本操作语法 <第五篇>
1、创建统计语法:

CREATE STATISTICS statistics_name
ON { table_or_indexed_view_name } ( column [ ,...n ] )
[ WHERE <filter_predicate> ]
[ WITH
[ [ FULLSCAN
| SAMPLE number { PERCENT | ROWS }
| STATS_STREAM = stats_stream ] [ , ] ]
[ NORECOMPUTE ]
] ; <filter_predicate> ::=
<conjunct> [AND <conjunct>] <conjunct> ::=
<disjunct> | <comparison> <disjunct> ::=
column_name IN (constant ,…) <comparison> ::=
column_name <comparison_op> constant <comparison_op> ::=
IS | IS NOT | = | <> | != | > | >= | !> | < | <= | !<

以上有3个词比较陌生,看看:
- FULLSCAN:通过全扫描表或索引视图中的所有行来计算统计信息。 FULLSCAN 和 SAMPLE 100 PERCENT 的结果相同。 FULLSCAN 不能与 SAMPLE 选项一起使用。
- SAMPLE number { PERCENT | ROWS }:指定在查询优化器创建统计信息时所使用的表或索引视图中的近似行百分比或行数。在大多数情况下,不必指定 SAMPLE,这是因为在默认情况下,查询优化器已根据需要采用抽样,并以统计方式确定大量样本的大小,以便创建高质量的查询计划。 如果未指定 SAMPLE 和 FULLSCAN,查询优化器则默认使用抽样数据并计算样本大小。建议不指定 0 PERCENT 或 0 ROWS。 如果指定 0 PERCENT 或 0 ROWS,则将创建统计信息对象,但该对象不包含任何统计信息数据。
- NORECOMPUTE:为 statistics_name 禁用自动统计信息更新选项 AUTO_STATISTICS_UPDATE。 如果指定此选项,则查询优化器将完成 statistics_name 的任何正在进行中的统计信息更新并禁用将来的更新。
示例:
CREATE STATISTICS ST_NAME
ON Person(Name) --在Person表的Name列上创建统计
查看结果:

CREATE STATISTICS ST_NAME
ON PersonTenThousand (Name)
WHERE Name IS NOT NULL --过滤统计
WITH FULLSCAN; --全扫描
2、更新统计语法
UPDATE STATISTICS ON < table_name > [ . <index_name> ]
WITH FULLSCAN {, NORECOMPUTE }
说明:
- table_name:指定要更新其统计信息的表的名称。
- index_name:要更新其统计信息的索引。 如果未指定索引,则将更新指定的表或索引视图中所有的分发统计信息。 这包括使用 CREATE STATISTICS 语句创建的统计信息、自动创建的统计信息以及索引创建期间创建的统计信息。
- FULLSCAN:扫描表的全部行统计。
- NORECOMPUTE:进制统计自动更新。
示例:
UPDATE STATISTICS Person --默认抽样更新该表上的全部统计信息UPDATE STATISTICS Person IX_NAME --全扫描更新该表上的统计IX_NAME信息
WITH FULLSCAN;
3、删除统计语法
DROP STATISTICS table.statistics_name | view.statistics_name [ ,...n ]
示例:
DROP STATISTICS PersonTenThousand.ST_NAME --删除Person表上的统计ST_NAME
4、查看统计的操作:
查看Person表的IX_NAME统计:
DBCC SHOW_STATISTICS(Person,IX_NAME)
输出如下:

关于这些列的说明http://technet.microsoft.com/zh-cn/library/ms174384(v=sql.100).aspx
5、配置数据库的统计的自动创建
ALTER DATABASE Test SET AUTO_CREATE_STATISTICS OFF/ON
6、配置数据库统计的自动更新
ALTER DATABASE Test SET AUTO_UPDATE_STATISTICS OFF/ON
7、异步更新的配置
ALTER DATABASE Test SET AUTO_UPDATE_STATISTICS_ASYNC OFF/ON
8、存储过程配置统计自动更新开启
EXEC sp_autostats 'ta1','ON' --表ta1所有的统计开启自动更新
9、存储过程配置统计,精确到单个统计对象
EXEC sp_autostats 'ta1','OFF',IX_COLUMN2 --表ta1上的索引IX_COLUMN2开启自动更新
统计的基本操作语法 <第五篇>的更多相关文章
- 用仿ActionScript的语法来编写html5——第五篇,Graphics绘图
用仿ActionScript的语法来编写html5——第五篇,Graphics绘图 canvas本身就是一个Graphics,可以直接进行绘图在actionscript里面,每个Sprite都有一个G ...
- 【Python五篇慢慢弹】数据结构看python
数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...
- 【Python五篇慢慢弹(4)】模块异常谈python
模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondo ...
- 【Python五篇慢慢弹】快速上手学python
快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...
- 【Python五篇慢慢弹(3)】函数修行知python
函数修行知python 作者:白宁超 2016年10月9日21:51:52 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...
- 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸
类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...
- Python之路【第十五篇】:Web框架
Python之路[第十五篇]:Web框架 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...
- 第五篇 Replication:事务复制-How it works
本篇文章是SQL Server Replication系列的第五篇,详细内容请参考原文. 这一系列包含SQL Server事务复制和合并复制的详细内容,从理解基本术语和设置复制的方法,到描述它是如何工 ...
- Python之路【第五篇】:面向对象和相关
Python之路[第五篇]:面向对象及相关 面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否 ...
随机推荐
- 关于Python的3张图
- jQuery 1.6+ 中attr()与prop() 区别
最近在写一个关于checkbox全选与取消全选的优化方法时,看到很多高手用到了.prop(). 于是在jquery的帮助文档查了一下,才知道这是在jquery 1.6.1中新加的方法,用来设置属性.但 ...
- hdu5080:几何+polya计数(鞍山区域赛K题)
/* 鞍山区域赛的K题..当时比赛都没来得及看(反正看了也不会) 学了polya定理之后就赶紧跑来补这个题.. 由于几何比较烂写了又丑又长的代码,还debug了很久.. 比较感动的是竟然1Y了.. * ...
- 第27讲 UI组件之 ScrollView与底部动态添加数据
第27讲 UI组件之 ScrollView与底部动态添加数据 1. ScrollView(滚动视图) ScrollView(滚动视图)是实现滚动的一个控件,只需要将需要滚动的控件添加到ScrollVi ...
- java多个listener监听
java 多个listener 监听方法 在class 名称上一行添加@Listeners 括号中用逗号隔开 @Listeners({com.example.MyListener.class,com. ...
- java常用方法
public static int byte2int(byte b) { int i = b & 0x07f; if (b < 0) { i |= 0x80; } return i; } ...
- 免费邮件服务器:MailEnable
官方网站地址:www.mailenable.com 下载最新版的 Standard Edition (FREE) 安装之前请留意安装指引就可以了,安装上去之后,直接就可以使用了 安装指引上写的清清楚楚 ...
- CSS3 div水平、垂直居中,IE9以上、Firefox、Chrome均正常
<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...
- [Angular 2] Using events and refs
This lesson shows you how set listen for click events using the (click) syntax. It also covers getti ...
- mogodb亿万级数据性能測试
本机 i7四核 8G 废话少说 mogodb 最像sql的nosql 使用批量插入一次20万循环10次总共200万数据用时65秒(尝试一次50万只是报内存溢出了,原因未知) 插入2000万数据用时10 ...