Duvida quanto ao desempenho

8 respostas
Bruck

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.

PS: A base é estática e não está ordenada.

Vlws.

8 Respostas

ViniGodoy

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.

G

Você pode pensar em um particionamento horizontal, que é onde uma quantidade de linhas está em uma base conforme seu range. http://en.wikipedia.org/wiki/Partition_(database)

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.

Bruck

garcia-jj:
Você pode pensar em um particionamento horizontal, que é onde uma quantidade de linhas está em uma base conforme seu range. http://en.wikipedia.org/wiki/Partition_(database)

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

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…

Criado 30 de outubro de 2009
Ultima resposta 30 de out. de 2009
Respostas 8
Participantes 4