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

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 列确定此选项的状态。

 

posted on   笑东风  阅读(2289)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现

导航

点击右上角即可分享
微信分享提示