2011-11-02 88 views
0

我的老板希望我建立一个归档机制,使表不会变得太大并且会出现性能问题。我们看到一张表增长到1100万行,大小约为1G,这对于SQL Server来说并不重要。它在DateTime列上有一个聚集索引,我不认为会有太多的性能问题,因为行通常会按时间顺序插入。SQL Server归档选项 - 单独的表与单独的数据库vs其他

归档(移动和存储其他地方)数据的最佳方式是什么?如果我要将数据移动到数据库中的单独表中,它是否会减慢数据库的速度?如果我将数据归档到同一个SQL Server中的单独数据库中,性能会更好吗?还是有另一个选择胜过我正在考虑的两个选项。

在此先感谢。

回答

1

找到另一位老板。 1100万是小型的。像SMALL一样。当数据库拥有100亿行时回来。如果必须,请考虑分区。

也就是说,这取决于你想要什么以及数据是否对查询不可见。无论如何,sparate未查询的数据将不会对服务器征税 - 如果查询它,则它是无关紧要的,无论它是单独的表还是数据库。移动数据是最好的 - 在计划的工作中,在休息时间(夜间周末)。

+0

我想也一样。我认为表现问题是其他因素造成的,而不是表格增长。但是我没有办法证明它,所以我只剩下实施归档机制。 因此,在性能方面,数据是否被移动到表或数据库并不重要?然后我可以选择表格选项。 – n00b

+0

不,空间是空间 - 只要没有隐藏的其他点表或数据库没有任何区别。不过,我会开始分析一千一百万行表中的查询,然后利用profler查看是否缺少某些愚蠢的索引或某些愚蠢的SQL。 – TomTom