Usuário com melhor resposta
Dúvida com relação a performance

Pergunta
-
Bom dia pessoal,
Sou meio novo na plataforma .NET e estou com uma dúvida com relação a performance. Na verdade é algo mais conceitual do que técnico.
No software que estou desenvolvendo a base de dados atual conta com mais de 17 mil registros e isso tende a aumentar, será pouco mas de qualquer forma irá aumentar.
A base de programa é uma busca ao bd para retornar o preço do livro pesquisado. Eu fiz essa busca de duas formas e agora preciso de um help para avaliar qual delas é melhor com relação a performance.
Na primeira opção fiz que a cada pesquisa fosse criada uma conexão com o bd e fazia um select com where. Desta forma se fizer a busca retornar todos os registros do bd, isso levará aproximadamente 5s entre buscar e mostrar na tela.
Na segunda opção fiz que ao carregar a aplicação fosse gerado um dataset com todos os registros do bd. E as pesquisas são feitas neste dataset já desconectado. E no mesmo teste de retornar todos os registros isso levou 4s.
Conclusão com o dataset eu economizo 1s de espera do usuário, mas em contrapartida o uso de memória sobre muito. Gostaria de saber a opinião de vocês sobre qual seria a melhor solução.
Obrigado,
Respostas
-
Grande,
Aqui vai o meu ponto de vista.
Acho que as duas formas são funcionais e meio que tanto faz, mas pensando la na frente, vc não necessariamente sabe que maquina que vai ser usada, não sabe quanto de memoria, nem se a pessoa que ta usando ta com 30 Internet Explorer aberto, mais tocando a listinha de 200 mil musicas que ele tem, basicamente se não sabe o quanto do pouco de memoria que o ser do outro lado esta usando com outros aplicativos.
Pensando nisso, aconselho o uso do banco de dados para qualquer pesquisa, mesmo porque, vc ainda pode colocar indexação, que deve aumentar o desempenho, e outra coisa, que sugiro fazer de qualquer maneira, é usar Stored Procedures, que tambem vai ajudar na performance, e de quebra na segurança.
Agora se tudo que falei não é realmente verdade, ai tanto faz, como vc ja notou.
Todas as Respostas
-
Grande,
Aqui vai o meu ponto de vista.
Acho que as duas formas são funcionais e meio que tanto faz, mas pensando la na frente, vc não necessariamente sabe que maquina que vai ser usada, não sabe quanto de memoria, nem se a pessoa que ta usando ta com 30 Internet Explorer aberto, mais tocando a listinha de 200 mil musicas que ele tem, basicamente se não sabe o quanto do pouco de memoria que o ser do outro lado esta usando com outros aplicativos.
Pensando nisso, aconselho o uso do banco de dados para qualquer pesquisa, mesmo porque, vc ainda pode colocar indexação, que deve aumentar o desempenho, e outra coisa, que sugiro fazer de qualquer maneira, é usar Stored Procedures, que tambem vai ajudar na performance, e de quebra na segurança.
Agora se tudo que falei não é realmente verdade, ai tanto faz, como vc ja notou.
-