首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何找出优化器评估哪些统计信息?

如何找出优化器评估哪些统计信息?
EN

Database Administration用户
提问于 2012-07-05 20:21:18
回答 1查看 143关注 0票数 4

我的企业有一个农场,许多几乎相同的,孤立的生产环境。每个环境都有一个server 2005数据库服务器,每个服务器都支持具有几乎相同架构的数据库。理想情况下,每个数据库都有相同的模式。对架构的增强将在模型模式中集中管理。架构更改将与客户端软件新版本的推出相协调。

不幸的是,随着时间的推移,系统管理员已经在其中的一些数据库中添加了一些特殊的统计实体,因此,我们发现我们的生产系统之间的性能不一致。

我们希望要么将即席统计数据合并到模型模式中,要么将它们从生产服务器中删除。但是,除非我们知道它们对查询性能的影响,否则我们不能自信地这样做。

似乎应该有一种方法来查看查询优化器在评估不同的执行计划时访问统计实体的情况。这些信息在任何地方都能得到吗?

是否有SQLTrace选项来报告它?

sys.dm_db_index_usage_stats这样的东西会有帮助。是否有这样一个DMV来计算统计使用量,而不是索引使用量?

EN

回答 1

Database Administration用户

发布于 2012-07-05 20:58:59

我不知道SQL Server以任何公开或记录的方式将其作为单独的统计数据进行跟踪(不打算使用双关语)。但是,如果您监视您的服务器进行昂贵的查询(长持续时间、高CPU、高I/O等)并收集这些查询的计划,您可能可以从您收集的计划中获得一些信息--但是请记住,并不是所有的统计数据都将被表示(关于这方面的一些细节)。如果您知道查询的速度很慢,并且怀疑问题可能是由于特定的统计数据或丢失的统计数据造成的,那么您可以为该查询生成一个实际的执行计划并检查该计划--您经常会发现一些证据,例如缺少统计信息警告或估计行与实际行之间的巨大差异(而后者就是为什么只生成一个估计的计划是毫无价值的)。

SentryOne性能顾问产品是帮助收集高影响查询("Top“)和运行时与其关联的执行计划的一种方法,因为随着时间的推移,它们将被收集和保存。此外,计划探索者是一个免费的工具,可以生成计划或打开您收集的现有计划,通常比在Management中查看图形显示计划或解析XML更容易突出其中的一些问题。

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

https://dba.stackexchange.com/questions/20460

复制
相关文章

相似问题

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