最初接触SQL Server的时候认为SQLServer数据更改的同时就会相应的更新统计信息,其实SQL Server不是这样做的.基于性能考虑,SQL Server使用下面的算法更新统计信息。

自动更新统计信息的基本算法是:

· 如果表格是在 tempdb数据库表的基数是小于 6,自动更新到表的每个六个修改。

· 如果表的基数是大于 6,但小于或等于 500,更新状态每500 的修改。

· 如果基数大于 500,表为更新统计信息时(500 + 20%的表)发生了更改。

· 表变量为基数的更改不会触发自动更新统计信息。

注意:此严格意义上讲,SQL Server计算基数为表中的行数。

注意:除了基数,该谓语的选择性也会影响 AutoStats生成。这意味着该统计信息可能无法更新的 afer每 500 修改基数是 < 500 或更改的每个 20%的基数好像 > 500。比例因子(值的范围从1 到 4、 1和 4 之间)上生成根据选择性,这一因素的更改从算法获得数的乘积 AutoStats生成所需的修改的实际数目。

在表的窗体中,可以summarised以上算法:

_________________________________________________________________________________

Table Type | Empty Condition | Threshold WhenEmpty |Threshold When Not Empty

_________________________________________________________________________________

Permanent | < 500 rows | # ofChanges >= 500 | # of Changes >=500 + (20% of Cardinality)

___________________________________________________________________________

Temporary | < 6 rows | # ofChanges >= 6 | # of Changes >=500 + (20% of Cardinality)

___________________________________________________________________________

Table

Variables | Change in cardinality does not affectAutoStats generation.

___________________________________________________________________________

转载于:https://blog.51cto.com/lzf328/968397

SQL Server 自动更新统计信息的基本算法相关推荐

  1. SQL Server统计信息以及如何在SQL中执行更新统计信息

    This article gives a walk-through of SQL Server Statistics and different methods to perform SQL Serv ...

  2. 自动更新统计信息的阀值——人为更新统计信息的重要性

    经过一系列的Insert/Update/Delete后,统计信息可能不会是最新.如果SQL Server查询优化器在表里需要指定列的统计信息,自上次统计信息创建或更新后经历了实质的更新活动,SQL S ...

  3. 使用数据库维护计划SQL Server更新统计信息

    This article explores SQL Server Update Statistics using the database maintenance plan. 本文探索使用数据库维护计 ...

  4. server sql 统计信息 过时_sql-server – 何时更新统计信息?

    我继承了执行以下操作的维护计划: >清理旧数据 >检查数据库完整性 >执行数据库和事务日志备份 >重组我们的索引 >更新统计数据 >删除旧备份和维护计划文件 在23 ...

  5. 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项

    原文: 性能优化--统计信息--SQLServer自动更新和自动创建统计信息选项 原文译自:http://www.mssqltips.com/sqlservertip/2766/sql-server- ...

  6. mysql 更新统计信息_MySQL5.7统计信息更新的相关参数解释和测试

    MySQL版本:5.7.21 统计信息相关参数如下: mysql> show global variables like '%stats%'; +------------------------ ...

  7. C#毕业设计——基于C#+asp.net+SQL server的网上物流管理信息系统设计与实现(毕业论文+程序源码)——网上物流管理信息系统

    基于C#+asp.net+SQL server的网上物流管理信息系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+SQL server的网上物流管理信息系统设计与实 ...

  8. ORACLE索引失效,更新统计信息

    有时候建立索引的时候不走索引,排除了字段数据问题和sql写法问题,索引失效的问题之外,还得考虑是统计信息过旧,得重新收集.查看表的统计信息,看 user_index 的last_analyze(索引) ...

  9. SQL2008R2的 遍历所有表更新统计信息 和 索引重建

    [2.以下是更新统计信息] DECLARE UpdateStatisticsTables CURSOR READ_ONLY FORSELECT sst.name,Schema_name(sst.sch ...

最新文章

  1. windows下使用cmake编译zlib与libpng libjpeg 留此备份
  2. 坚强生活(转)--To 小鱼,妹妹和傻女孩们
  3. RabbitMQ—AMQP协议重要概念介绍
  4. Linux文件系统与日志
  5. 关于Makefile,Makefile.in,Makefile.am,Configure功能及相互关系的问题
  6. 几种常用的数字滤波器
  7. php面向对象编程代码怎么写,php面向对象编程(一)
  8. Windows11 Docker镜像存储路径更改(非C盘路径)
  9. C语言和设计模式(迭代器模式)
  10. 快速计算子网掩码和主机块
  11. 流计算技术实战 - CEP
  12. 6U VPX 超高速信号采集处理板(XC7K325T + 4 片DSP TMS320C6678)
  13. SnagIt - 官方网站
  14. 分享一款超强看图软件。极速看图。这些看图软件比系统自带的强大多了!
  15. SMOTE算法(人工合成数据)
  16. 阿里内核月报2014年7月-8月
  17. HTML / CSS / JS 编程入门 —— 使用 Lightly 制作可切换主题的简单网页
  18. Qt for linux 安装
  19. OCO-2叶绿素荧光下载链接
  20. XMLHttpRequest cannot load 的解决方法

热门文章

  1. Ant学习---第二节:Ant添加文件夹和文件夹集的使用
  2. 关于cocos2d-js中使用 ClippingNode 以及 BlendFunc 来实现遮罩
  3. 数据科学可视化之要途
  4. Kinect for Windows SDK开发入门(三):基础知识 下
  5. MySQL中如何定义外键[转]
  6. HBASE整合ldap权限管理
  7. 诗与远方:无题(二十)
  8. 解决layui laydate动态创建多个时不起作用点击无效的问题
  9. linux目录自动同步,Linux下rsync+inotify实现实时文件自动同步
  10. mysql 的数据备份_MySQL 数据备份与还原