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开启自动更新
 
 

统计的基本操作语法 <第五篇>的更多相关文章

  1. 用仿ActionScript的语法来编写html5——第五篇,Graphics绘图

    用仿ActionScript的语法来编写html5——第五篇,Graphics绘图 canvas本身就是一个Graphics,可以直接进行绘图在actionscript里面,每个Sprite都有一个G ...

  2. 【Python五篇慢慢弹】数据结构看python

    数据结构看python 作者:白宁超 2016年10月9日14:04:47 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...

  3. 【Python五篇慢慢弹(4)】模块异常谈python

    模块异常谈python 作者:白宁超 2016年10月10日12:08:31 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondo ...

  4. 【Python五篇慢慢弹】快速上手学python

    快速上手学python 作者:白宁超 2016年10月4日19:59:39 摘要:python语言俨然不算新技术,七八年前甚至更早已有很多人研习,只是没有现在流行罢了.之所以当下如此盛行,我想肯定是多 ...

  5. 【Python五篇慢慢弹(3)】函数修行知python

    函数修行知python 作者:白宁超 2016年10月9日21:51:52 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给出的pythondoc ...

  6. 【Python五篇慢慢弹(5)】类的继承案例解析,python相关知识延伸

    类的继承案例解析,python相关知识延伸 作者:白宁超 2016年10月10日22:36:57 摘要:继<快速上手学python>一文之后,笔者又将python官方文档认真学习下.官方给 ...

  7. Python之路【第十五篇】:Web框架

    Python之路[第十五篇]:Web框架   Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. 1 2 3 4 5 6 ...

  8. 第五篇 Replication:事务复制-How it works

    本篇文章是SQL Server Replication系列的第五篇,详细内容请参考原文. 这一系列包含SQL Server事务复制和合并复制的详细内容,从理解基本术语和设置复制的方法,到描述它是如何工 ...

  9. Python之路【第五篇】:面向对象和相关

    Python之路[第五篇]:面向对象及相关   面向对象基础 基础内容介绍详见一下两篇博文: 面向对象初级篇 面向对象进阶篇 其他相关 一.isinstance(obj, cls) 检查是否obj是否 ...

随机推荐

  1. C# 进程间通信(共享内存)

    原文:C# 进程间通信(共享内存) 进程间通信的方式有很多,常用的方式有: 1.共享内存(内存映射文件,共享内存DLL). 2.命名管道和匿名管道. 3.发送消息 本文是记录共享内存的方式进行进程间通 ...

  2. redis 验证消息队列也是写磁盘的

    # 下面的例子将会进行把数据写入磁盘的操作: # 900秒(15分钟)之后,且至少1次变更 # 300秒(5分钟)之后,且至少10次变更 # 60秒之后,且至少10000次变更 # # 注意:你要想不 ...

  3. BZOJ2101: [Usaco2010 Dec]Treasure Chest 藏宝箱

    2101: [Usaco2010 Dec]Treasure Chest 藏宝箱 Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 327  Solved:  ...

  4. linux虚拟机命令行模式下,某些命令显示乱码问题。

    刚安装了linux虚拟机,使用vi命令试着修改IP配置,结果出现乱码.配置IP的文件内容本身没有乱码,主要是vi编辑的命令行的提示出现乱码,例如,按i是插入模式,结果底下出现乱码提升,不是提示插入. ...

  5. 修改xcode代码风格设置

    1.找到文件:/Applications/Xcode.app/Contents/PlugIns/IDECodeSnippetLibrary.ideplugin/Contents/Resources/S ...

  6. eclipse3.7 安装maven插件与scm

    转自:http://blacksonny.iteye.com/blog/1900275 最近要使用maven进行开发,之前的eclipse3.7 使用一下两个地址安装好了插件,如下: maven插件 ...

  7. Quartz定时调度CronTrigger时间配置格式说明与实例

    1.   CronTrigger时间格式配置说明 CronTrigger配置格式: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 ...

  8. Spring3 MVC 之 Hello Word

    开发工具: MyEclipse  10.0 项目目录: [http://www.cnblogs.com/rhythmK/] 1.新建项目:File->New->Web Project  项 ...

  9. STM32F051 IAP源代码分享

    STM32F051 IAP源代码分享 假设不懂IAP的请自己主动脑补或者怒戳这里 http://www.openedv.com/posts/list/11494.htm 然后STM32F051的IAP ...

  10. maven pom.xml具体解释(整理)

    pom作为项目对象模型. 通过xml表示maven项目,使用pom.xml来实现.主要描写叙述了项目:包含配置文件.开发人员须要遵循的规则,缺陷管理系统.组织和licenses,项目的url,项目的依 ...