Вместо разархивирования и повторного сжатия таблицы истории: если вы хотите получить доступ к одной таблице истории, вы можете использовать таблицу слияния для объединения сжатых таблиц истории только для чтения.
Таким образом, предполагая, что у вас есть активная таблица и таблицы сжатой истории с одинаковой структурой таблицы, вы можете использовать следующую схему:
Таблицы:
compressed_month_1
compressed_month_2
active_month
Создать таблицу слияния:
create table history_merge like active_month;
alter table history_merge
ENGINE=MRG_MyISAM
union (compressed_month_1,compressed_month_2);
Через месяц сожмите таблицу active_month и переименуйте ее в compress_month_3 . Теперь таблицы:
compressed_month_1
compressed_month_2
compressed_month_3
active_month
и вы можете обновить таблицу истории
alter table history_merge
union (compressed_month_1, compressed_month_2, compressed_month_3);