履歴テーブルを解凍して再圧縮する代わりに:履歴の単一のテーブルにアクセスする場合は、マージテーブルを使用して、圧縮された読み取り専用の履歴テーブルを組み合わせることができます。
したがって、アクティブなテーブルと同じテーブル構造の圧縮された履歴テーブルがあると仮定すると、次のスキームを使用できます。
テーブル:
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);
1か月後、 active_monthを圧縮します テーブルの名前をcompressed_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);