3

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

现在查询这些表会消耗性能并且执行查询需要很长时间。

已经创建了索引和东西,但现在我计划在某些表中存档记录,并且只在用户想要时查询它们。

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

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

我能想到的选项:

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

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

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

我不确定该走哪条路,我确信有更好的方法来处理我不知道的这个问题。

有什么想法可以走吗?有什么方法可以建议。

4

0 回答 0