sodra 0 Denunciar post Postado Fevereiro 11, 2008 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, Compartilhar este post Link para o post Compartilhar em outros sites
quintelab 91 Denunciar post Postado Fevereiro 11, 2008 Não vejo problema em nenhum dos casos, mas no primeiro caso, você utilza o que para mostrar para o usuário? Você deve utlizar alguma classe. No segundo caso, basta despois destruir seu DataSet, desta forma ele não irá ficar alocado em memória, e se ele for um objeto que não seja público depois de um tempo o proprio framework irá destrui-lo. Abraços... Compartilhar este post Link para o post Compartilhar em outros sites
sodra 0 Denunciar post Postado Fevereiro 11, 2008 Sim no primeiro caso utilizo um datareader. A idéia de usar um dataset é que ele fosse carregado uma única vez quando o programa fosse iniciado e só destruí-lo ao finalizar. E não gerar um dataset a cada requisição. Exatamente para ter esse ganho de performance, mas cai nesse dilema Performance x Alocação de memória. Compartilhar este post Link para o post Compartilhar em outros sites