我如何知道要实施哪些SQL Server 2005索引建议?

We're in the process of upgrading one of our SQL Server instances from 2000 to 2005. I installed the performance dashboard (http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en) for access to some high level reporting. One of the reports shows missing (recommended) indexes. I think it's based on some system view that is maintained by the query optimizer.

我的问题是确定何时采取索引建议的最佳方法是什么。我知道应用所有优化器的建议是没有意义的。我看到很多建议,基本上说要尝试索引,并在性能提高时保留索引,如果性能下降或保持不变,请将其降低。我想知道是否有更好的方式来做出决定以及在这个问题上有哪些最佳实践。

0

3 答案

您最好研究在数据库上发生的最常见的查询类型,并根据该研究创建索引。

例如,如果有一个存储网站点击率的表格,该表格经常被写入,但很难读取。然后不要将表格编入索引。

如果你有一个访问次数多于写入次数的用户列表,那么我首先会在访问最多的列(通常是主键)上创建一个聚集索引。然后,我会在常用的搜索列上创建一个索引,并按照子句的顺序创建索引。

0
额外

首先要注意的是:

当您从2000年升级到2005年(通过使用分离和附加)时,请确保您:

  1. 将可兼容性设置为90
  2. 重建索引
  3. 运行全面扫描更新统计信息

如果你不这样做,你会得到不理想的计划。

如果表格大部分是你想要的尽可能少的索引 如果该表用于大量的读取查询,则必须确保WHERE子句被索引覆盖。

0
额外

你得到的建议是正确的。一个接一个地尝试。

当涉及到性能时,没有什么可替代的测试。除非你证明它,否则你没有做任何事情。

0
额外