我有一个大约 30,000 行的 MySQL 数据库。我每晚将此数据库更新到远程服务器,但一次更新的行数不会超过 50 行。我是唯一更新数据库的人。我想开发一种方法,其中仅将更改的行导出到远程服务器。
为了节省数据库中的空间并在导出到远程服务器时节省时间,我构建了“存档”表(在远程服务器上),其中包含不再更新且不驻留在本地数据库中的记录。但我知道将这些数据拆分为多个表是不好的设计,如果需要更改表的结构,可能会导致问题。
所以我想重建数据库,以便所有具有相似表结构的记录都在一个表中(就像它们在数据库小得多时一样)。结果表(包含所有存档记录)的大小将超过 80,000 行,对于在整个数据库包中导出来说太大了。
为此,我想(1)在添加或修改行时更新每行中的“最后更新”时间戳(2)当“最后更新”时间戳大于时间戳时,仅选择表中的行进行导出最后一次导出操作的时间 (3) 编写一个查询来构建导出 .sql 文件,其中仅包含新的和更新的行 (4) 更新导出操作的时间戳,以便在下一次导出期间进行比较
有没有人这样做过?如果是这样,我将不胜感激有关如何完成此任务的一些指导。
史蒂夫