我有一个+/- 8000万行(分区)的表。
插入物变得有点慢(大约1-3秒)。
查询计划表示插入的68%是clustered index insert
,但每次插入/更新和删除时,表上也有一些触发器。所以很难说真正造成时间的是什么。
无论如何,我们在该表上有一些索引,其中一些有3-5列。
我想知道的是什么更好,性能更好: 要使一些索引包含多列,或者使用更少列的更小索引?
欢迎提供所有提示和建议。
答案 0 :(得分:4)
查询计划表示插入的68%是聚簇索引插入,但每次插入/更新和删除时,表上也有一些触发器。所以很难说真正造成时间的是什么。
我认为很明显,这是导致问题的触发因素。在没有触发器的情况下,在这样一个小型表上插入单行非常不可能需要3秒。您可以尝试删除它们,看看您的插入是否仍然很慢。
要使某些索引包含多个列,或者使用更少列的索引更小?
您应该查看您的查询并查看他们使用的索引。要优化读取性能,如果慢查询可能会受益,则应添加索引 - 这可以是单列索引,也可以是多列索引,具体取决于特定查询。要优化写入性能,您应该删除所有未使用的索引。