SQL Server 自动更新统计信息的基本算法
最初接触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 自动更新统计信息的基本算法相关推荐
- SQL Server统计信息以及如何在SQL中执行更新统计信息
This article gives a walk-through of SQL Server Statistics and different methods to perform SQL Serv ...
- 自动更新统计信息的阀值——人为更新统计信息的重要性
经过一系列的Insert/Update/Delete后,统计信息可能不会是最新.如果SQL Server查询优化器在表里需要指定列的统计信息,自上次统计信息创建或更新后经历了实质的更新活动,SQL S ...
- 使用数据库维护计划SQL Server更新统计信息
This article explores SQL Server Update Statistics using the database maintenance plan. 本文探索使用数据库维护计 ...
- server sql 统计信息 过时_sql-server – 何时更新统计信息?
我继承了执行以下操作的维护计划: >清理旧数据 >检查数据库完整性 >执行数据库和事务日志备份 >重组我们的索引 >更新统计数据 >删除旧备份和维护计划文件 在23 ...
- 性能优化——统计信息——SQLServer自动更新和自动创建统计信息选项
原文: 性能优化--统计信息--SQLServer自动更新和自动创建统计信息选项 原文译自:http://www.mssqltips.com/sqlservertip/2766/sql-server- ...
- mysql 更新统计信息_MySQL5.7统计信息更新的相关参数解释和测试
MySQL版本:5.7.21 统计信息相关参数如下: mysql> show global variables like '%stats%'; +------------------------ ...
- C#毕业设计——基于C#+asp.net+SQL server的网上物流管理信息系统设计与实现(毕业论文+程序源码)——网上物流管理信息系统
基于C#+asp.net+SQL server的网上物流管理信息系统设计与实现(毕业论文+程序源码) 大家好,今天给大家介绍基于C#+asp.net+SQL server的网上物流管理信息系统设计与实 ...
- ORACLE索引失效,更新统计信息
有时候建立索引的时候不走索引,排除了字段数据问题和sql写法问题,索引失效的问题之外,还得考虑是统计信息过旧,得重新收集.查看表的统计信息,看 user_index 的last_analyze(索引) ...
- SQL2008R2的 遍历所有表更新统计信息 和 索引重建
[2.以下是更新统计信息] DECLARE UpdateStatisticsTables CURSOR READ_ONLY FORSELECT sst.name,Schema_name(sst.sch ...
最新文章
- windows下使用cmake编译zlib与libpng libjpeg 留此备份
- 坚强生活(转)--To 小鱼,妹妹和傻女孩们
- RabbitMQ—AMQP协议重要概念介绍
- Linux文件系统与日志
- 关于Makefile,Makefile.in,Makefile.am,Configure功能及相互关系的问题
- 几种常用的数字滤波器
- php面向对象编程代码怎么写,php面向对象编程(一)
- Windows11 Docker镜像存储路径更改(非C盘路径)
- C语言和设计模式(迭代器模式)
- 快速计算子网掩码和主机块
- 流计算技术实战 - CEP
- 6U VPX 超高速信号采集处理板(XC7K325T + 4 片DSP TMS320C6678)
- SnagIt - 官方网站
- 分享一款超强看图软件。极速看图。这些看图软件比系统自带的强大多了!
- SMOTE算法(人工合成数据)
- 阿里内核月报2014年7月-8月
- HTML / CSS / JS 编程入门 —— 使用 Lightly 制作可切换主题的简单网页
- Qt for linux 安装
- OCO-2叶绿素荧光下载链接
- XMLHttpRequest cannot load 的解决方法
热门文章
- Ant学习---第二节:Ant添加文件夹和文件夹集的使用
- 关于cocos2d-js中使用 ClippingNode 以及 BlendFunc 来实现遮罩
- 数据科学可视化之要途
- Kinect for Windows SDK开发入门(三):基础知识 下
- MySQL中如何定义外键[转]
- HBASE整合ldap权限管理
- 诗与远方:无题(二十)
- 解决layui laydate动态创建多个时不起作用点击无效的问题
- linux目录自动同步,Linux下rsync+inotify实现实时文件自动同步
- mysql 的数据备份_MySQL 数据备份与还原