我是一个新手,在这里堆栈溢出以及在sql服务器,所以请让我知道如果这个问题是不适当的任何方式:)实现Sql Server读写性能的策略是什么?
那么,我正在开发一个Web应用程序,将用于分析存储在SQL Server 2008数据库中的大量数据。该接口不允许用户更新或插入任何数据,所以除了用户数据的一些更新之外,主要是SELECT命令将被发送到数据库。
每天晚上,系统都会关闭并刷新其他来源的信息。此刷新还将涉及大量数据,因此数据库在此阶段将主要执行INSERT和UPDATE命令。
我已经创建了适当的索引以在SELECTS上实现良好的性能,但是这些索引导致夜间刷新变慢。我想要“两全其美”,所以我搜索了一下,发现一个常见的策略是在写入数据之前删除/禁用所有索引,并在之后重新创建它们。我也听说,更好的方法是限制索引的填充因子,这将使我无法编写用于删除和重新创建索引的脚本。
您认为在这里使用的最佳方法是什么?我的主要目标是良好的性能?我应该使用“fillfactor”-approach,还是应该弄脏并编写脚本来删除/重新创建索引?欢迎任何建议!
避免太多索引 - 只是明确地索引每一列,只是因为你可以,肯定会杀死你的perf! ;-) – 2010-01-21 11:36:06