首页 > 解决方案 > 拥有可以访问的存档的最佳方式

问题描述

我有一个需要每年归档的数据库。去年的数据有时需要在明年使用,所以我有一个可以有 3 个值的列年份(0 - 来自今年,1 - 从去年开始使用,2 - 保存但未使用)。数据库如下:

    Table1
     id,year ...
    Table2
     id,id_table1 ...
    Table3
     id,id_table2 ...
    Table4
     id,id_table3 ...

这些是需要归档的表table1.year = 2。归档数据也需要可访问,并且需要至少回溯 2 年。每年的行数约为:Table1 - 50 行;表 2 - 250(表 1 x5);表 3 - 2500(表 2 x 10);表 4 - 5000(表 3 x 2);

我查看了分区,但不知道如何将这四个分组,以便它们都可以移动到单独的分区。

标签: mysqldatabasebackuppartitioningarchive

解决方案


PARTITIONing除非您有超过一百万行,否则不要打扰。

一个有 8000 行的表是“小”的;将它们全部放在一个表中。如果已经有DATEorDATETIME列,您甚至不需要额外的列来指示“年份”。而且你不需要id_table2(等)。

如果您想进一步讨论,请提供SHOW CREATE TABLE一些疑问。


推荐阅读