SQL Server索引INSERT / UPDATE性能

时间:2012-03-15 04:47:22

标签: database sql-server-2008 database-performance indexed-view

我知道索引会影响插入/更新性能,但我正在尝试排查并确定查询性能和插入/更新性能之间的正确平衡。

我们为一些非常复杂的查询创建了许多视图(大约20个)。它们通过按键寻找的速度非常慢(可能需要20秒才能扫描5到10个按键)。

对这些视图建立索引(在各个键列上同时包含聚簇索引和非聚簇索引)可以在80x到100x的范围内加快其性能。它还会影响插入/更新性能,使得在各种相关表中插入大约100行的脚本运行大约需要45秒,而不是瞬时运行。

我宁愿不为这些视图使用OLAP路由(它会添加一个全新的复杂层......并且视图当前是可更新的,这会造成反向同步问题)...所以我我试图找出如何平衡查询性能与插入/更新性能。

有人可以建议如何诊断特定问题索引 - 以及减少其对插入/更新影响的潜在方法吗?

我已经尝试过使用覆盖索引,带有INCLUDE的索引和复合聚簇索引作为替代方案,看看它是否有所作为(实际上并非如此)。

感谢。

1 个答案:

答案 0 :(得分:0)

在这种情况下,请使用单列其他过滤索引,并避免使用包含两列以上的复合索引。