Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Tenho um banco de dados, gostaria de diminuir o tamanho dele, mas ainda preciso dos dados antigos pensei em dividir ele em dois bancos, no banco principal deixo uma quantidade dos últimos registros e no segundo todo o restante que só será consultado caso a pessoa peça uma busca.
É uma opção ou existe uma forma mais 'profissional' de fazer isso?
Obrigado
Existe, mas eu só tenho um local (busca) que utiliza dados mais antigos, poderia, por exemplo, com um alteração rápida direcionar qual BD seria usado.. já havia feito isso com outra finalidade... Pergunto, porque já tive problema com hospedagens caras (que vivem com anúncios em jornais e até TV) que disseram que não suportava o número de acessos de dois sites, na época dividi pois os dados antigo quase não eram acessados... então perguntei porque não sei que forma grandes sistemas fazem isso, se utilizam alguma mudança no Banco ou se eles tem servidores que suportem tudo...
Obrigado.
O quanto grande é este banco !?
Os dados antigos são apenas leitura ?
Existem índices ?
Pensou em particionar esta tabela ? Tem a vantagem da transparência.
Está perto de 500 mil registros... os dados antigos não podem ser alterados e tem índices...
Vou tentar com particionamento, só vou dar uma estudada antes certinho como ele funciona...
Obrigado
Um processo mais simples pode ser , criar uma tabela de historico e no período desejado fazer a limpeza.
algo como
insert into tabela_log
select * from tabela
where data_evento < ....
delete tabela
where data_evento < ....
Uma view poderia juntar as duas visoes
create or replave view v_tabela
select * from tabela
union all
select * from tabela_log
já existe indice na data que facilite a "divisão" por tempo?