在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是否有效.我有相同的经验,其中显示索引,但一旦创建实际上没有使用,可能是由于查询的详细信息或表中的数据分布等.视图大多数时候是正确的,特别是对于简单的情况,但并非总是如此
另外,要小心创建真正宽的索引,因为它们可能会影响插入/更新性能,而不是帮助选择性能,具体取决于服务器的繁忙程度.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。