Estou desenvolvendo uma aplicação e tenho uma base de dados com mais ou menos 100mil linhas com 5 campos em cada linha onde serão feitas consultas. Então queria saber se é melhor em relação ao desempenho, passar essa base de dados para um banco de dados mysql ou fazer as consultas utilizando uma busca sequencial num arquivo .dat quando for preciso.
Muito provavelmente usar uma base de dados será mais rápido do que ler um arquivo. Na base, você poderá criar índices, fora que os SQLs já são bastante otimizados, especialmente para grandes volumes de dados.
cristian_clever
Como serão realizadas as consultas? Todos os campos servirão como critério de pesquisa?
Bruck
Só vou usar um campo para a pesquisa e pegar a linha toda.
Outra sugestão é movimentar dados antigos para uma tabela de histórico.
Embora penso que 100mil registros é quase nada. Tenho uma tabela aqui do meu sistema que possuem 2 milhões de linhas, e que cresce 10% a cada ano. Porém é uma tabela de histórico, usada apenas em poucas consultas mais para impressão de documento.
Outra sugestão é movimentar dados antigos para uma tabela de histórico.
Embora penso que 100mil registros é quase nada. Tenho uma tabela aqui do meu sistema que possuem 2 milhões de linhas, e que cresce 10% a cada ano. Porém é uma tabela de histórico, usada apenas em poucas consultas mais para impressão de documento.
É… 2 milhões é uma base beeem maior, mas acho que não devo ter problemas com uma base em mysql, que como o ViniGodoy disse já é otimizada, mas vou pesquisar sobre esse particionamento horizontal.
cristian_clever
Se vc so ira realizar a pesquisa por um único campo, e a sua" base" é estatica… pq simplesmente não armazenar os dados no arquivo, e manter seus dados em memoria, seja em um hashMap, onde a chave é esse campo que vc utilizara como criterio de busca…
A unica coisa que pegaria um pouco, é se vc realiza pesquisas do tipo in and or like… ain não teria jeito…
Uma segunda alternativa seria usar um hypersonic… seria muito mais simples de vc montar com todos os beneficios de uma db mas sem o ‘peso’ de uma base de verdade… pool de conexoes…etc…etc
G
garcia-jj
Acho que o ideal é mesmo armazenar em base de dados e otimizar bem os índices. 100mil registros não é muita coisa mesmo para um banco de dados.
Bruck
Acho que manter tudo na memória vai ficar meio ruim, pq sempre que executar o programa vou ter que ficar carregando todos os dados na memória…