首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL表统计信息,如何确定哪些统计信息需要更新?

SQL表统计信息,如何确定哪些统计信息需要更新?
EN

Stack Overflow用户
提问于 2011-06-18 06:00:25
回答 1查看 422关注 0票数 0

我有几个表,每天添加100k行。一些统计信息会更新,但不是全部更新。似乎列出了50+统计数据。1/2是几天前更新的,但也有一些是3个月前更新的。我应该更新这些吗?为什么不更新它们呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-18 06:45:48

只要启用了所有自动创建/自动更新...那么SQL优化器不更新统计数据的原因可能是它认为生成最佳查询计划是不必要的。

反过来,这可能是因为您的表的标准用法不经常在查询中利用它们(即where子句、比较、连接等)。

您可以手动更新统计信息,但是如果SQL没有使它们保持最新,那么在您的正常活动过程中,您可能会注意到没有任何改进。(只要自动更新处于打开状态)

在翻转时。如果您突然开始在一个历史上不经常使用的列上运行查询,那么优化器可能会改变主意,并开始密切关注它。

返回到自动更新...如果它关闭了,那么你就进入了自己的领域。此外,如果有人手动创建了一堆统计数据,那么SQL也不会更新这些统计数据,除非它们在优化查询时变得有用。

This Books Online article is an excellent source of information.

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6392279

复制
相关文章

相似问题

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