我的数据库有8年的数据,代码需要一些时间来检索数据。我打算仅保留最近两年的数据,其余数据将移至临时表。例如,employee表具有最近8年的数据,因此我要创建employee2013
,emploee2014
,并将相应的Year数据移至这些表。
指导我如何执行此操作,此方法是否正确或是否有更好的主意。 我正在使用SQL Server 2014,并且具有300个表以及成千上万的行
答案 0 :(得分:0)
嗯?为什么将旧数据移到临时表中。这些会定期删除。
无论如何,似乎您想按年份将数据分开。这称为“分区”。这是一个广泛的主题,因此您应该从documentation开始学习。
一旦有了分区,就可以通过删除较旧的分区或将其移至新表来实际保留最近的两年。但是,这可能不是必需的。您可以只创建一个访问最近两年的视图,并让用户访问这些视图。
您无需指定为什么。如果仅出于性能原因,那么多个表绝对不是正确的解决方案。实际上,对于大多数用途而言,将分区和索引结合起来可能是可行的方法。