meu site precisa armazenar o ip e o timestamp de todas as visitas no mysql. Estou preocupado que muito rapidamente terei 1e6 linhas no meu banco de dados.
qual é a melhor maneira de compactar uma data no mysql ou java? o mysql já comprime datas? idealmente, gostaria de descompactar os valores de data rapidamente para gerar relatórios.
Atualização: desculpe, eu quis dizer um mil por dia. mas acho que ainda é minúsculo.
Respostas:
2 para resposta № 1Companheiro, um milhão de linhas é um muito pequeno base de dados. Eu não estaria me preocupando muito com isso. De qualquer forma, o MySQL usa um formato bastante compactado (3 bytes) de qualquer maneira, conforme esta página:
DATE: A three-byte integer packed as DD + MM×32 + YYYY×16×32
Em outras palavras, no nível de bit (com base no 1000-01-01 thru 9999-12-31
alcance):
00000yyy yyyyyyym mmmddddd
1 para resposta № 2
Use o tipo de data e hora embutido no MySQL. Um milhão de linhas não é tantas.
1 para resposta № 3
Um registro de data e hora do mysql seria de apenas 4 bytes. Um número inteiro representando o registro de data e hora seria o mesmo. Seria eficiente salvá-lo como um tipo mysql, já que você seria capaz de indexar e / ou consultar com base nessa coluna com eficiência.
Qualquer formulário "compactado" que não seja do tipo mysql seria ineficiente para consulta.