Если вы архивируете старые данные, должен быть способ настроить запланированное задание в mysql.Я знаю, что в SQL Server есть такая функция, которая требуется большинству баз данных, поэтому я полагаю, что это можно сделать в mySQL.Запланируйте задание на запуск в часы простоя.Пусть он выберет все записи старше года (или сколько угодно времени записей, которые вы хотите сохранить активными) и переместите их в архивную таблицу, а затем удалите их.В зависимости от количества записей, которые вы будете перемещать, лучше всего делать это раз в неделю или ежедневно.Вы не хотите, чтобы количество записей, срок действия которых истекает, было настолько большим, что это сильно сказывалось на производительности или делало работу слишком долгой.
В архиве важно, чтобы вы хранили все записи, которые будут необходимы часто, и не забывайте рассматривать отчеты в этом (многие отчеты должны иметь данные за годы или за два года,не архивируйте записи, в которых эти отчеты должны быть).Затем вам также необходимо настроить способ доступа пользователей к архивным записям в тех редких случаях, когда им может понадобиться их просмотреть.