数据库选项--自动更新统计

AUTO_UPDATE_STATISTICS { ON | OFF } 
ON 
指定在统计信息由查询使用并且可能过期时,查询优化器更新统计信息。 统计信息将在插入、更新、删除或合并操作更改表或索引视图中的数据分布后过期。 查询优化器通过计算自最后统计信息更新后数据修改的次数并且将这一修改次数与某一阈值进行比较,确定统计信息何时可能过期。 该阈值基于表中或索引视图中的行数。

查询优化器在编译查询和执行缓存查询计划前,检查是否存在过期的统计信息。 在编译某一查询前,查询优化器使用查询谓词中的列、表和索引视图确定哪些统计信息可能过期。 在执行缓存查询计划前,数据库引擎 确认该查询计划引用最新的统计信息。

AUTO_UPDATE_STATISTICS 选项适用于为索引创建的统计信息、查询谓词中的单列以及使用 CREATE STATISTICS 语句创建的统计信息。 此选项也适用于筛选统计信息。

默认值为 ON。 建议您对于大多数数据库使用默认设置。

使用 AUTO_UPDATE_STATISTICS_ASYNC 选项可以指定统计信息是同步更新还是异步更新。

OFF 
指定在统计信息由查询使用并且可能过期时,查询优化器不更新统计信息。 将此选项设置为 OFF 可能导致并非最佳的查询计划以及查询性能下降。

可通过查看 sys.databases 目录视图中的 is_auto_update_stats_on 列或 DATABASEPROPERTYEX 函数的 IsAutoUpdateStatistics 属性来确定此选项的状态。

 

AUTO_UPDATE_STATISTICS_ASYNC { ON | OFF } 
ON 
指定针对 AUTO_UPDATE_STATISTICS 选项的统计信息更新是异步的。 查询优化器不等待统计信息更新完成即编译查询。

除非已将 AUTO_UPDATE_STATISTICS 设置为 ON,否则将此选项设置为 ON 不会产生任何影响。

默认情况下,AUTO_UPDATE_STATISTICS_ASYNC 选项设置为 OFF,并且查询优化器以同步方式更新统计信息。

OFF 
指定针对 AUTO_UPDATE_STATISTICS 选项的统计信息更新是同步的。 查询优化器在编译查询前等待统计信息更新完成。

除非已将 AUTO_UPDATE_STATISTICS 设置为 ON,否则将此选项设置为 OFF 不会产生任何影响。

可通过查看 sys.databases 目录视图中的 is_auto_update_stats_async_on 列确定此选项的状态。

 

数据库选项--自动更新统计

上一篇:数据库选项--页面检查


下一篇:NoSql数据库使用半年后在设计上面的一些心得