1

当我创建一个全新的数据库和/或表时,应该遵循什么索引策略。因为我不会有任何用户查询来分析或要求找到最常用的列。我的索引策略应该是什么/(哪些列应该构成集群,哪些列应该参与非集群)?在这种情况下我应该如何继续?

4

3 回答 3

1

索引当前在您的函数/存储过程中使用的列。一旦您的应用程序开始使用,您可以相应地进行调整并运行调整向导。

于 2012-04-21T20:03:49.313 回答
1

当谈到新的开发项目与生产支持时,很难有一个绝对的答案,索引属于优先级列表。对于一个新的开发项目,在构建数据库设计、索引策略和数据访问代码上花费相同的时间是明智的。没有它,应用程序可能成为维护的噩梦,需要在生产环境中投入大量精力。在许多方面,如果数据库只是被认为是一个黑匣子,它可以在没有任何注意的情况下永远运行,那么说起来容易做起来难。如果您面临这个问题,那么有必要首先改变这种心态,并确保时间、精力和资源正确地满足数据库向前发展的需求。

对于生产应用程序,当出现性能问题时,检查索引和查询计划应该是一个高优先级。在许多方面,更改或添加索引应该是审查、分析、测试和部署的众多项目之一,而不是将索引视为解决性能问题的灵丹妙药。

索引的另一个重要考虑因素是,随着应用程序的更改,索引可能也需要更改。不要认为索引停滞不前,而是在考虑索引含义的情况下查看代码。因此,当应用程序更改时不要害怕更改、测试和部署改进的索引策略。

您可以在此处进一步阅读http://www.mssqltips.com/sqlservertip/1452/sql-server-index-checklist/

于 2012-04-21T20:17:26.470 回答
1

在事先不知道任何事情的情况下,您能做的最好的事情就是慷慨地应用索引。这将在很大程度上降低您的写入性能,但至少您可以很好地处理意外查询。

于 2012-04-21T20:28:34.660 回答