我有一个大小为54 GB的数据库,其中一些表中包含大量行。
现在查询这些表会降低性能,执行查询需要很长时间。
已创建索引和内容,但现在我计划在某些表中存档记录,并仅在用户需要时查询它们。
例如,假设我有一个名为Transaction
的表,而且我经常不需要超过3个月的行。
现在我要做的是将超过3个月的Transaction
表的所有行存储到其他表中,并仅在UI中的用户说查看存档事务时才查询该表。
我能想到的选项:
在同一个数据库中创建ArchivedTransaction
,但问题是数据库的大小会不断增长,在某些时候我将不得不开始删除行。
将行完全移动到不同的数据库,但在这种情况下如何管理数据库请求,需要进行大量更改,当某人说查看存档行时也不确定性能
添加列存档到表中,然后在需要时检查标记,但是大小问题仍然相同,并且性能没有提高到那个程度。
我不确定要走哪条路,我相信还有更好的方法可以解决这个问题。我不知道。
任何想法都有哪些方法?是否有一些方法可以建议。