首页 > 数据库 > mysql教程 > sqlserver 统计信息自动更新

sqlserver 统计信息自动更新

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 15:40:50
原创
1819 人浏览过

对于已经应用的表(非临时表)统计信息更新条件为 500 20%,具体更新条件 如果统计信息是在常规表上定义的,则在以下情况下已过时: 表大小已从 0 变为0 行。统计gath时表的行数

对于已经应用的表(非临时表)统计信息更新条件为500 20%,具体更新条件

如果在常规表上定义统计信息,则在以下情况下该统计信息已过时:

  1. 表格大小已从 0 行变为 >0 行。

  2. 收集统计信息时表中的行数为 500 或更少,并且统计对象的前导列的 colmodctr 从那时起已更改超过 500。

  3. 收集统计信息时表的行数超过 500 行,并且统计信息对象的前导列的 colmodctr 更改了超过 500 收集统计信息时表中行数的 20%。

  • 如果统计对象是在临时表上定义的,则如上所述,它已经过时,除了在 6 行处重新计算有一个额外的阈值,测试在其他方面与前面列表中的测试 2 相同。

在一些增加的表中触发此更新条件的周期可能会很长,因为可能影响查询的性能。这里介绍sqlserver的一个跟踪标志2371

当开启该标志时,统计信息的更新将根据表数据量的总体大小动态调整触发更新条件

(如1000000数据30000即可触发更新(3%),1000000000数据1000000即可触发(0.1%)),从而有可能提高系统整体性能。

如图所示

sqlserver 统计信息自动更新

注意:由于更新统计信息本身也有一定的资源消耗,开启后会造成统计信息更新相对间隙,所以开启前应全面评估整体成本。

     (如未因统计信息更新对全局造成明显影响则消耗开启)

个人想法:关系型数据库发展至今,所有产品差异越来越小,细节更能体现一款产品的优秀程度。

             2371的功能如果能作为一个库的选项设置,细化粒度(数据库根据用途可能导致访问特点不尽相同),将使统计信息的管理更加灵活。

 

 

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
tp6连接sqlserver数据库问题
来自于 1970-01-01 08:00:00
0
0
0
php 怎样调用sqlserver的分页储存过程
来自于 1970-01-01 08:00:00
0
0
0
php 7.2.10 链接 SQLserver2008r2 报错
来自于 1970-01-01 08:00:00
0
0
0
Laravel 中无法连接 SQL Server
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板