我知道索引会影响插入/更新性能,但我正在尝试排查并确定查询性能和插入/更新性能之间的正确平衡。
我们为一些非常复杂的查询创建了许多视图(大约20个)。它们通过按键寻找的速度非常慢(可能需要20秒才能扫描5到10个按键)。
对这些视图建立索引(在各个键列上同时包含聚簇索引和非聚簇索引)可以在80x到100x的范围内加快其性能。它还会影响插入/更新性能,使得在各种相关表中插入大约100行的脚本运行大约需要45秒,而不是瞬时运行。
我宁愿不为这些视图使用OLAP路由(它会添加一个全新的复杂层......并且视图当前是可更新的,这会造成反向同步问题)...所以我我试图找出如何平衡查询性能与插入/更新性能。
有人可以建议如何诊断特定问题索引 - 以及减少其对插入/更新影响的潜在方法吗?
我已经尝试过使用覆盖索引,带有INCLUDE的索引和复合聚簇索引作为替代方案,看看它是否有所作为(实际上并非如此)。
感谢。
答案 0 :(得分:0)
在这种情况下,请使用单列其他过滤索引,并避免使用包含两列以上的复合索引。