Datatable Archival SQL Server 2008

时间:2013-04-18 06:22:29

标签: asp.net performance sql-server-2008

我有一个大小为54 GB的数据库,其中一些表中包含大量行。

现在查询这些表会降低性能,执行查询需要很长时间。

已创建索引和内容,但现在我计划在某些表中存档记录,并仅在用户需要时查询它们。

例如,假设我有一个名为Transaction的表,而且我经常不需要超过3个月的行。

现在我要做的是将超过3个月的Transaction表的所有行存储到其他表中,并仅在UI中的用户说查看存档事务时才查询该表。

我能想到的选项:

  1. 在同一个数据库中创建ArchivedTransaction,但问题是数据库的大小会不断增长,在某些时候我将不得不开始删除行。

  2. 将行完全移动到不同的数据库,但在这种情况下如何管理数据库请求,需要进行大量更改,当某人说查看存档行时也不确定性能

  3. 添加列存档到表中,然后在需要时检查标记,但是大小问题仍然相同,并且性能没有提高到那个程度。

  4. 我不确定要走哪条路,我相信还有更好的方法可以解决这个问题。我不知道。

    任何想法都有哪些方法?是否有一些方法可以建议。

0 个答案:

没有答案