Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Aceleração da tabela MyISAM somente leitura


Em vez de descompactar e recompactar a tabela de histórico:Se você deseja acessar uma única tabela para o histórico, pode usar uma tabela de mesclagem para combinar as tabelas de histórico somente leitura compactadas.

Assim, supondo que você tenha uma tabela ativa e as tabelas de histórico compactadas com a mesma estrutura de tabela, você pode usar o seguinte esquema:

As mesas:
compressed_month_1
compressed_month_2
active_month

Crie uma tabela de mesclagem:
create table history_merge like active_month;
alter table history_merge 
    ENGINE=MRG_MyISAM 
    union (compressed_month_1,compressed_month_2);

Após um mês, comprima o active_month tabela e renomeie-a para compressed_month_3 . Agora as tabelas são:
compressed_month_1
compressed_month_2
compressed_month_3
active_month

e você pode atualizar a tabela de histórico
alter table history_merge 
    union (compressed_month_1, compressed_month_2, compressed_month_3);