2008-08-06 85 views
6

我们正在将我们的SQL Server实例之一从2000年升级到2005年。我安装了性能仪表板(http://www.microsoft.com/downloads/details.aspx?FamilyId=1d3a4a0d-7e0c-4730-8204-e419218c1efc&displaylang=en)以访问某些高级报告。其中一个报告显示缺少(推荐)索引。我认为它基于查询优化器维护的一些系统视图。如何知道要实施哪些SQL Server 2005索引建议?

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

回答

3

首先要注意的:

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

  1. 设置保持兼容90
  2. 重建索引
  3. 全扫描

运行UPDATE STATISTICS如果你不这样做,你会得到suboptima升计划。

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

0

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

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

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

3

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

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