我有一个包含+/- 8000万行(分区的)的表。
插入变得有点慢(大约1-3秒)。查询计划表明68%的insert是clustered index insert,但是对于每个insert / update和delete,表上也有一些触发器。所以很难说到底是什么导致了时间。
无论如何,我们在该表上有一些索引,其中一些有3-5列。
我想知道的是,在性能方面,哪个更好:是让一些索引包含多个列,还是让更多更小的索引包含更少的列?
欢迎所有的提示和建议。
发布于 2012-05-04 15:59:34
查询计划说68%的insert是聚集索引insert,但是对于每个insert / update和delete,表上也有一些触发器。所以很难说到底是什么导致了时间。
我认为很明显是你的触发器导致了问题。在这样一个没有触发器的小表上插入一行需要3秒的时间是非常不可能的。你可以试着移除它们,看看你的插入是否仍然很慢。
是让一些索引包含多个列,还是让更多更小的索引包含更少的列?
您应该查看您的查询,看看它们使用了哪些索引。要优化读取性能,您应该在慢查询可能受益的情况下添加索引-这可以是单列索引,也可以是多列索引,具体取决于特定查询。要优化写入性能,您应该删除任何未使用的索引。
https://stackoverflow.com/questions/10444899
复制相似问题