0

我有一个 +/- 8000 万行(分区)的表。

插入速度有点慢(大约 1-3 秒)。查询计划说 68% 的插入是clustered index insert,但对于每个插入/更新和删除,表上也有一些触发器。所以很难说是什么真正造成了时间。

无论如何,我们在该表上有一些索引,其中一些有 3-5 列。

我想知道的是什么更好,性能更好:有一些包含多列的索引,还是有更多更小的索引和更少的列?

欢迎所有提示和建议。

4

1 回答 1

4

查询计划说 68% 的插入是聚集索引插入,但对于每次插入/更新和删除,表上也有一些触发器。所以很难说是什么真正造成了时间。

我认为很明显是您的触发器导致了问题。在没有触发器的情况下,在如此小的表上插入一行需要 3 秒是极不可能的。您可以尝试删除它们,看看您的插入是否仍然很慢。

有一些包含多列的索引,或者有更多更小的索引和更少的列?

您应该查看您的查询并查看它们正在使用哪些索引。为了优化读取性能,如果慢速查询可能受益,您应该添加索引 - 这可以是单列索引或多列索引,具体取决于特定查询。要优化写入性能,您应该删除所有未使用的索引。

于 2012-05-04T07:59:33.503 回答