首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server索引使用情况统计信息多久更新一次?更新的原因是什么?

问SQL Server索引使用情况统计信息多久更新一次?更新的原因是什么?
EN

Stack Overflow用户
提问于 2012-12-04 02:11:48
回答 1查看 1.8K关注 0票数 3

还有其他一些类似的问题,但请不要混淆。

我知道有一个函数STATS_DATE()可以知道统计数据在哪里更新,这很好,但我想知道的是,是什么触发了此统计数据的更新或截止。我知道也有这方面的报道。

但上周我看到了某些服务器上的统计数据,它们为我提供了非常好的信息,这个特定数据库中的主表有4位数。

现在,在同一生产服务器中查看,STATS_UPDATE函数返回它们是上周六更新的,但是这个服务器已经运行了几个星期,没有重启,甚至没有重新启动服务。所以我知道我看到的是这个星期一早上累积的数据。

因此,我想知道在哪里可以设置此设置,以便服务器不断累积索引使用情况统计数据,直到我清除日志或它使用的任何存储。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-12-04 11:47:31

SQL server为表和索引维护各种“统计信息”。

  1. 直方图统计信息。这些是查询优化器使用的统计数据。STATS_DATE()返回这些更新的最后日期/时间。自动更新直方图统计信息的标准是500行+表的20%。因此,一个有100,000行的表,您必须更新20,500行,然后才能触发对这些行的重新计算。您不能更改自动统计信息更新的阈值,但是,您可以关闭自动统计信息更新和/或手动更新特定表和索引上的统计信息。
  2. 使用情况统计信息:可以在sys.dm_db_index_usage_stats中找到。索引使用统计信息跟踪SELECT查询中的查找和扫描等内容。它们不是持久化的,而是在sql server重新启动时重置。如果底层索引被重新构建为"ALTER index ... REBUILD",而不是"ALTER INDEX ... REORG"
  3. Operational Statistics:这些可以在sys.dm_db_index_operational_stats中找到,那么这些统计信息也会被重置。操作统计信息包括页面拆分、叶级插入和PAGEIOLATCH延迟。这些也是非持久化的。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13689186

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档