sql-server – sql server avg_user_impact

前端之家收集整理的这篇文章主要介绍了sql-server – sql server avg_user_impact前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在DMV sys.dm_db_missing_index_group_stats中,有一个名为avg_user_impact的字段.按照BOL,这显示

Average percentage benefit that user queries could experience if this missing index group was implemented. The value means that the query cost would on average drop by this percentage if this missing index group was implemented.

当我运行查询以查找对性能影响最大的缺失索引时,我看到一些声称avg_user_impact将在数千个中.

我使用其中一个建议构建了一个索引,并且从未根据DMV sys.dm_db_index_usage_stats使用它.一旦我禁用了索引,它立即再次显示为缺失索引.

一旦avg_user_impact字段显示超过100,它是否可能出错?或者这是一个如何仍然必须测试推荐索引的实例的例子?我做错了什么或误会了?

解决方法

建议的索引和用户影响都是来自成本优化器的估计值,并且如您所见,并不能保证它们始终是正确的.我认为用户影响列可以超过100个设计(虽然我们不得不希望sql Server团队的MS开发人员在这里回答真正的答案.)测试是否创建显示的索引始终是至关重要的. DMV是否有效.我有相同的经验,其中显示索引,但一旦创建实际上没有使用,可能是由于查询的详细信息或表中的数据分布等.视图大多数时候是正确的,特别是对于简单的情况,但并非总是如此

另外,要小心创建真正宽的索引,因为它们可能会影响插入/更新性能,而不是帮助选择性能,具体取决于服务器的繁忙程度.

猜你在找的MsSQL相关文章