统计的基本操作语法 <第五篇>
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是否 ...
随机推荐
- Linux Shell逻辑运算符和表达式详解
Shell 逻辑运算符涉及以下几种类型,只要适当选择,可以解决我们很多复杂的判断,达到事半功倍效果. 一.逻辑判断1.关于文件与目录的逻辑判断-f 常用.判断『文件』是否为普通文件,比如: if [ ...
- 转:linux执行shell脚本的方式及一些区别
假设shell脚本文件为hello.sh放在/root目录下.下面介绍几种在终端执行shell脚本的方法: [root@localhost home]# cd /root/ [root@localho ...
- 自制USB wifi信号放大天线
这是我的usb wifi天线第一个版本,灵感来自: http://www.instructables.com/id/EQARE4I72GEPUCHTHU/ http://www.usbwifi.orc ...
- QT实现透明效果的按钮
QPushButton { color: rgb(0,88,152) background-color: rgba(97%,80%,9%,50%)}
- C-二维数组,多维数组
-----二维数组 ->在数组定义当中,行数和列数需要用常量定义 ->在定义的时候如果没有数值进行填充,则补零 ->第一个数是行,第二个数是列 ...
- Android应用盈利广告平台的嵌入方法详解
一.如何学习Android android开发(这里不提platform和底层驱动)你需要对Java有个良好的基础,一般我们用Eclipse作为开发工具.对于过多的具体知识详细介绍我这里不展开,我只 ...
- AES算法简介
AES算法简介 一. AES的结构 1.总体结构 明文分组的长度为128位即16字节,密钥长度可以为16,24或者32字节(128,192,256位).根据密钥的长度,算法被称为AES-128,AES ...
- 虚函数—c++的灵魂
<note_content /> 虚函数 C++中的虚函数的作用主要是实现了多态的机制.关于多态,简而言之就是用父类型别的指针指向其子类的实例,然后通过父类的指针调用实际子类的成员函数 ...
- ifstream中文路径问题分析
最近维护一个项目,遇到了ifstream在中文路径下打开文件失败的bug,我搜索了一下,最后整理成下文以后日后查阅. 一.问题重现 vs2008下创建一个简单win32工程. 使用ANSI编码方式:项 ...
- JavaScript语法支持严格模式:"use strict"
如果给JavaScript代码标志为“严格模式”,则其中运行的所有代码都必然是严格模式下的.其一:如果在语法检测时发现语法问题,则整个代码块失效,并导致一个语法异常.其二:如果在运行期出现了违反严格模 ...