我正在Firebird 2.5中工作,我的任务是创建一个过程,当数据使用时间超过3年时,该过程将从选择表中存档数据。我的计划是仅创建数据库结构的副本,并使用它从我的主数据库中移动记录。目的是由于数据库的性质会导致其由于记录的数据量而快速增长,并且通过卸载3年以后的数据,我们希望保持数据库的高效运行。
外键表不是问题,因为我将移动彼此相关的任何记录。
我是否应该意识到我可能没有考虑过这一点?我计划在进程运行后使用gbak进行备份/还原以重建索引,或者只是使用ALTER INDEX [indexname] INactIVE / actIVE
SQL语句来重建索引。
解决这个问题的最佳方法是什么?